<86>Nov 20 10:12:31 userdel[3717505]: delete user 'rooter'
<86>Nov 20 10:12:31 groupadd[3717510]: group added to /etc/group: name=rooter, GID=597
<86>Nov 20 10:12:31 groupadd[3717510]: group added to /etc/gshadow: name=rooter
<86>Nov 20 10:12:31 groupadd[3717510]: new group: name=rooter, GID=597
<86>Nov 20 10:12:31 useradd[3717516]: new user: name=rooter, UID=597, GID=597, home=/root, shell=/bin/bash
<86>Nov 20 10:12:31 userdel[3717523]: delete user 'builder'
<86>Nov 20 10:12:31 userdel[3717523]: removed group 'builder' owned by 'builder'
<86>Nov 20 10:12:31 userdel[3717523]: removed shadow group 'builder' owned by 'builder'
<86>Nov 20 10:12:31 groupadd[3717529]: group added to /etc/group: name=builder, GID=598
<86>Nov 20 10:12:31 groupadd[3717529]: group added to /etc/gshadow: name=builder
<86>Nov 20 10:12:31 groupadd[3717529]: new group: name=builder, GID=598
<86>Nov 20 10:12:31 useradd[3717533]: new user: name=builder, UID=598, GID=598, home=/usr/src, shell=/bin/bash
<13>Nov 20 10:12:33 rpmi: libglvnd-7:1.3.2-alt1 sisyphus+254610.100.1.1 1594124268 installed
<13>Nov 20 10:12:33 rpmi: libogg-1.3.4-alt1 sisyphus+247109.100.1.1 1582849994 installed
<13>Nov 20 10:12:33 rpmi: libflac8-1.3.3.0.62.ce6d-alt1 sisyphus+262142.100.1.1 1605801639 installed
<13>Nov 20 10:12:33 rpmi: libvorbis-1.3.7-alt1 sisyphus+256535.100.1.1 1597965510 installed
<13>Nov 20 10:12:33 rpmi: xorg-proto-devel-2020.1-alt1 sisyphus+250406.100.1.1 1587554810 installed
<13>Nov 20 10:12:33 rpmi: libexpat-2.2.10-alt1 sisyphus+259966.100.1.1 1602824518 installed
<13>Nov 20 10:12:33 rpmi: libwayland-server-1.18.0-alt1 sisyphus+255795.100.1.1 1596475648 installed
<13>Nov 20 10:12:33 rpmi: libGLES-7:1.3.2-alt1 sisyphus+254610.100.1.1 1594124268 installed
<13>Nov 20 10:12:33 rpmi: libOpenGL-7:1.3.2-alt1 sisyphus+254610.100.1.1 1594124268 installed
<13>Nov 20 10:12:33 rpmi: libdynamite-0.1.1-alt2 1324469010 installed
<13>Nov 20 10:12:33 rpmi: libmad-0.15.1b-alt9 sisyphus+222614.100.1.1 1550890149 installed
<13>Nov 20 10:12:33 rpmi: timidity-instruments-1:1.0-alt1 1166705614 installed
<13>Nov 20 10:12:33 rpmi: libgsm-1.0.17-alt1 1523356165 installed
<13>Nov 20 10:12:33 rpmi: libsndfile-1.0.28-alt2 sisyphus.212728.100 1536333068 installed
<13>Nov 20 10:12:33 rpmi: liblz4-1:1.9.2-alt1 sisyphus+238585.100.2.2 1570066927 installed
<13>Nov 20 10:12:33 rpmi: libgpg-error-1.36-alt1 sisyphus+225621.300.1.1 1553521082 installed
<13>Nov 20 10:12:33 rpmi: libgcrypt20-1.8.5-alt3 sisyphus+239622.100.1.1 1571746654 installed
<13>Nov 20 10:12:33 rpmi: libsystemd-1:246.6-alt5 sisyphus+261229.100.1.1 1604798416 installed
<13>Nov 20 10:12:33 rpmi: libdbus-1.12.18-alt1 sisyphus+252758.100.1.1 1591203693 installed
<13>Nov 20 10:12:33 rpmi: libasyncns-0.8-alt2.qa1 1365949820 installed
<13>Nov 20 10:12:33 rpmi: libxshmfence-1.3-alt1 sisyphus+223149.1000.2.1 1551268571 installed
<13>Nov 20 10:12:33 rpmi: libX11-locales-3:1.6.12-alt1 sisyphus+256796.100.1.1 1598422159 installed
<13>Nov 20 10:12:33 rpmi: libXdmcp-1.1.3-alt1 sisyphus+225206.600.1.2 1552949353 installed
<13>Nov 20 10:12:33 rpmi: libXau-1.0.9-alt1 sisyphus+223149.200.2.1 1551268152 installed
<13>Nov 20 10:12:33 rpmi: libxcb-1.14-alt1 sisyphus+247358.200.1.3 1583854228 installed
<13>Nov 20 10:12:33 rpmi: libX11-3:1.6.12-alt1 sisyphus+256796.100.1.1 1598422166 installed
<13>Nov 20 10:12:33 rpmi: libXext-1.3.4-alt1 sisyphus+225206.700.1.2 1552949429 installed
<13>Nov 20 10:12:33 rpmi: libpulseaudio-13.99.3-alt1 sisyphus+261656.100.1.1 1605189456 installed
<13>Nov 20 10:12:33 rpmi: libmikmod-3.3.11.1-alt2 1502706814 installed
<13>Nov 20 10:12:33 rpmi: libXxf86vm-1.1.4-alt2 1527672187 installed
<13>Nov 20 10:12:33 rpmi: libXdamage-1.1.5-alt1 sisyphus+225206.500.1.2 1552949286 installed
<13>Nov 20 10:12:33 rpmi: libXfixes-5.0.3-alt1 sisyphus+226736.100.2.2 1554614841 installed
<13>Nov 20 10:12:33 rpmi: libXrender-0.9.10-alt1 sisyphus+261890.100.1.1 1605595177 installed
<13>Nov 20 10:12:33 rpmi: libXrandr-1.5.2-alt1 sisyphus+225206.1300.1.2 1552949710 installed
<13>Nov 20 10:12:35 rpmi: libxcb-devel-1.14-alt1 sisyphus+247358.200.1.3 1583854228 installed
<13>Nov 20 10:12:35 rpmi: libX11-devel-3:1.6.12-alt1 sisyphus+256796.100.1.1 1598422166 installed
<13>Nov 20 10:12:35 rpmi: libwayland-client-1.18.0-alt1 sisyphus+255795.100.1.1 1596475648 installed
<13>Nov 20 10:12:35 rpmi: libpciaccess-1:0.16-alt1 sisyphus+234814.100.1.1 1563438291 installed
<13>Nov 20 10:12:35 rpmi: libdrm-1:2.4.103-alt1 sisyphus+261080.100.1.1 1604598368 installed
<13>Nov 20 10:12:35 rpmi: libGLX-mesa-4:20.2.2-alt1 sisyphus+261341.100.1.1 1604901712 installed
<13>Nov 20 10:12:35 rpmi: libGLX-7:1.3.2-alt1 sisyphus+254610.100.1.1 1594124268 installed
<13>Nov 20 10:12:35 rpmi: libGL-7:1.3.2-alt1 sisyphus+254610.100.1.1 1594124268 installed
<13>Nov 20 10:12:35 rpmi: libGLU-4:9.0.1-alt1 sisyphus+248864.100.1.1 1585556461 installed
<13>Nov 20 10:12:35 rpmi: libgbm-4:20.2.2-alt1 sisyphus+261341.100.1.1 1604901712 installed
<13>Nov 20 10:12:35 rpmi: libEGL-mesa-4:20.2.2-alt1 sisyphus+261341.100.1.1 1604901712 installed
<13>Nov 20 10:12:35 rpmi: libEGL-7:1.3.2-alt1 sisyphus+254610.100.1.1 1594124268 installed
<13>Nov 20 10:12:35 rpmi: libglvnd-devel-7:1.3.2-alt1 sisyphus+254610.100.1.1 1594124268 installed
<13>Nov 20 10:12:35 rpmi: libGLU-devel-4:9.0.1-alt1 sisyphus+248864.100.1.1 1585556461 installed
<13>Nov 20 10:12:35 rpmi: gcc-c++-common-1.4.25-alt1 sisyphus+255450.100.1.1 1595851517 installed
<13>Nov 20 10:12:35 rpmi: libstdc++9-devel-9.3.1-alt1 sisyphus+251917.40.3.1 1589812684 installed
<13>Nov 20 10:12:36 rpmi: gcc9-c++-9.3.1-alt1 sisyphus+251917.40.3.1 1589812684 installed
<13>Nov 20 10:12:36 rpmi: alsa-ucm-conf-1.2.4-alt1 sisyphus+260180.200.1.1 1603282405 installed
<13>Nov 20 10:12:36 rpmi: alsa-topology-conf-1.2.4-alt1 sisyphus+260180.100.1.1 1603282384 installed
<13>Nov 20 10:12:36 rpmi: libalsa-1:1.2.4-alt1 sisyphus+260180.300.1.1 1603282509 installed
<13>Nov 20 10:12:36 rpmi: libSDL-1.2.14-alt9 sisyphus+261262.100.1.1 1604829363 installed
<13>Nov 20 10:12:36 rpmi: libSDL-devel-1.2.14-alt9 sisyphus+261262.100.1.1 1604829363 installed
<13>Nov 20 10:12:36 rpmi: libSDL_mixer-1.2.12-alt1 1421435874 installed
<13>Nov 20 10:12:36 rpmi: libSDL_mixer-devel-1.2.12-alt1 1421435874 installed
<13>Nov 20 10:12:36 rpmi: gcc-c++-9-alt2 sisyphus+251923.100.2.2 1589881401 installed
<13>Nov 20 10:12:36 rpmi: libdynamite-devel-0.1.1-alt2 1324469010 installed
<13>Nov 20 10:12:36 rpmi: desktop-file-utils-0.23-alt2 sisyphus+226879.100.1.1 1554744356 installed
Building target platforms: i586
Building for target i586
Wrote: /usr/src/in/nosrpm/clonekeen-0.8.4-alt1_19.nosrc.rpm
Installing clonekeen-0.8.4-alt1_19.src.rpm
Building target platforms: i586
Building for target i586
Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.82074
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ rm -rf keen
+ echo 'Source #0 (clonekeen-src-84-clean.tar.gz):'
Source #0 (clonekeen-src-84-clean.tar.gz):
+ /bin/bzip2 -dc /usr/src/RPM/SOURCES/clonekeen-src-84-clean.tar.gz
+ /bin/tar -xf -
+ cd keen
+ echo 'Source #1 (clonekeen-0.8.4-data.tar.gz):'
Source #1 (clonekeen-0.8.4-data.tar.gz):
+ /bin/gzip -dc /usr/src/RPM/SOURCES/clonekeen-0.8.4-data.tar.gz
+ /bin/tar -xf -
+ /bin/chmod -c -Rf u+rwX,go-w .
+ echo 'Patch #0 (clonekeen-0.8.4-noSDLmain.patch):'
Patch #0 (clonekeen-0.8.4-noSDLmain.patch):
+ /usr/bin/patch -p1
patching file src/Makefile
+ echo 'Patch #1 (clonekeen-0.8.4-fcommon-fix.patch):'
Patch #1 (clonekeen-0.8.4-fcommon-fix.patch):
+ /usr/bin/patch -p1
patching file src/gamepdo.c
patching file src/menu_custommap.c
patching file src/menu_keysetup.c
patching file src/menu_options.c
patching file src/menu_savegames.c
patching file src/menumanager.c
patching file src/misc_ui.c
+ find -name '*.o' -delete
+ sed -i 's|gcc -O2|gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic|g' src/Makefile
+ cp -a /usr/src/RPM/SOURCES/extract.c /usr/src/RPM/SOURCES/clonekeen-extract-sounds.c .
+ sed -i 's/\r//g' README src/changelog.txt
+ exit 0
Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.82074
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd keen
+ make -j8 -C src -f Makefile 'CFLAGS=-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c sanity.c -o sanity.o
sanity.c: In function 'run_sanity':
sanity.c:140:18: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  140 |   wheretogetit = (char)(*list)[i+2];
      |                  ^
sanity.c:155:22: warning: comparison between pointer and integer
  155 |     if (wheretogetit == COMESWITHKEEN || 1)
      |                      ^~
sanity.c:156:19: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
  156 |      getFromWhere = kFromOriginal;
      |                   ^
sanity.c:158:19: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
  158 |      getFromWhere = kFromCloneKeen;
      |                   ^
sanity.c:142:29: warning: '%s' directive writing up to 1023 bytes into a region of size 1019 [-Wformat-overflow=]
  142 |    sprintf(fullfname, "data/%s", fname);
      |                             ^~   ~~~~~
In file included from /usr/include/stdio.h:867,
                 from keen.h:2,
                 from sanity.c:4:
/usr/include/bits/stdio2.h:36:10: note: '__builtin___sprintf_chk' output between 6 and 1029 bytes into a destination of size 1024
   36 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   37 |       __bos (__s), __fmt, __va_arg_pack ());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c main.c -o main.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c editor/autolight.c -o editor/autolight.o
editor/autolight.c: In function 'autolight':
editor/autolight.c:21:5: warning: unused variable 'plottile' [-Wunused-variable]
   21 | int plottile;
      |     ^~~~~~~~
editor/autolight.c: In function 'al_cast_ray':
editor/autolight.c:124:7: warning: unused variable 't' [-Wunused-variable]
  124 | int i,t;
      |       ^
editor/autolight.c: In function 'al_cantundo':
editor/autolight.c:201:1: warning: control reaches end of non-void function [-Wreturn-type]
  201 | }
      | ^
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c gamepdo_wm.c -o gamepdo_wm.o
gamepdo_wm.c: In function 'AllowMountUnmountNessie':
gamepdo_wm.c:376:44: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
  376 |           if (player[cp].keytable[PKRIGHT] && player[cp].blockedr || \
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c console.c -o console.o
console.c: In function 'DrawConsoleMessages':
console.c:38:13: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
   38 |   font_draw(cmsg, CONSOLE_MESSAGE_X, CONSOLE_MESSAGE_Y, drawcharacter_clear);
      |             ^~~~
      |             |
      |             char *
In file included from console.c:7:
console.fdh:17:31: note: expected 'unsigned char *' but argument is of type 'char *'
   17 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c game.c -o game.o
game.c: In function 'keen_get_goodie':
game.c:1156:5: warning: 'isUnknown' may be used uninitialized in this function [-Wmaybe-uninitialized]
 1156 |  if (isUnknown && !tiles[t].pickupable)
      |     ^
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c map.c -o map.o
map.c: In function 'map_draw_vstripe':
map.c:122:5: warning: unused variable 'xt' [-Wunused-variable]
  122 | int xt=x>>TILE_S;
      |     ^~
map.c: In function 'map_draw_hstripe':
map.c:155:5: warning: unused variable 'xt' [-Wunused-variable]
  155 | int xt;
      |     ^~
map.c: In function 'map_coat_border':
map.c:389:9: warning: unused variable 'c' [-Wunused-variable]
  389 | int x,y,c,border;
      |         ^
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c gamedo.c -o gamedo.o
gamedo.c: In function 'common_enemy_ai':
gamedo.c:683:20: warning: left-hand operand of comma expression has no effect [-Wunused-value]
  683 |   IsStopPoint(x, (x, ((objects[o].y>>CSF)+ysize-1)), o))
      |                    ^
gamedo.c: In function 'Render_drawdebug':
gamedo.c:953:30: warning: format '%d' expects argument of type 'int', but argument 3 has type 'long unsigned int' [-Wformat=]
  953 |   sprintf(debugmsg, "p1x/y: %d/%d [%d,%d]", player[0].x, player[0].y, player[0].x>>CSF,player[0].y>>CSF);
      |                             ~^              ~~~~~~~~~~~
      |                              |                       |
      |                              int                     long unsigned int
      |                             %ld
gamedo.c:953:37: warning: format '%d' expects argument of type 'int', but argument 5 has type 'long unsigned int' [-Wformat=]
  953 |   sprintf(debugmsg, "p1x/y: %d/%d [%d,%d]", player[0].x, player[0].y, player[0].x>>CSF,player[0].y>>CSF);
      |                                    ~^
      |                                     |
      |                                     int
      |                                    %ld
gamedo.c:954:13: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
  954 |   font_draw(debugmsg, 5, y+=8, drawcharacter);
      |             ^~~~~~~~
      |             |
      |             char *
In file included from gamedo.c:9:
gamedo.fdh:107:31: note: expected 'unsigned char *' but argument is of type 'char *'
  107 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
gamedo.c:956:13: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
  956 |   font_draw(debugmsg, 5, y+=8, drawcharacter);
      |             ^~~~~~~~
      |             |
      |             char *
In file included from gamedo.c:9:
gamedo.fdh:107:31: note: expected 'unsigned char *' but argument is of type 'char *'
  107 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
gamedo.c:958:13: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
  958 |   font_draw(debugmsg, 5, y+=8, drawcharacter);
      |             ^~~~~~~~
      |             |
      |             char *
In file included from gamedo.c:9:
gamedo.fdh:107:31: note: expected 'unsigned char *' but argument is of type 'char *'
  107 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
gamedo.c:960:13: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
  960 |   font_draw(debugmsg, 5, y+=8, drawcharacter);
      |             ^~~~~~~~
      |             |
      |             char *
In file included from gamedo.c:9:
gamedo.fdh:107:31: note: expected 'unsigned char *' but argument is of type 'char *'
  107 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
gamedo.c:962:13: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
  962 |   font_draw(debugmsg, 5, y+=8, drawcharacter);
      |             ^~~~~~~~
      |             |
      |             char *
In file included from gamedo.c:9:
gamedo.fdh:107:31: note: expected 'unsigned char *' but argument is of type 'char *'
  107 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
gamedo.c:964:13: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
  964 |   font_draw(debugmsg, 5, y+=8, drawcharacter);
      |             ^~~~~~~~
      |             |
      |             char *
In file included from gamedo.c:9:
gamedo.fdh:107:31: note: expected 'unsigned char *' but argument is of type 'char *'
  107 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
gamedo.c: In function 'gamedo_RenderOSD':
gamedo.c:999:19: warning: format '%d' expects argument of type 'int', but argument 3 has type 'long unsigned int' [-Wformat=]
  999 |   sprintf(temp, "%d", player[p].inventory.score);
      |                  ~^   ~~~~~~~~~~~~~~~~~~~~~~~~~
      |                   |                      |
      |                   int                    long unsigned int
      |                  %ld
gamedo.c:1000:13: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
 1000 |   font_draw(temp, OSD_X, y, drawcharacter_clear);
      |             ^~~~
      |             |
      |             char *
In file included from gamedo.c:9:
gamedo.fdh:107:31: note: expected 'unsigned char *' but argument is of type 'char *'
  107 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
gamedo.c:1008:13: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
 1008 |   font_draw(temp, TEXT_X, y, drawcharacter_clear);
      |             ^~~~
      |             |
      |             char *
In file included from gamedo.c:9:
gamedo.fdh:107:31: note: expected 'unsigned char *' but argument is of type 'char *'
  107 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
gamedo.c:1020:13: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
 1020 |   font_draw(temp, TEXT_X, y, drawcharacter_clear);
      |             ^~~~
      |             |
      |             char *
In file included from gamedo.c:9:
gamedo.fdh:107:31: note: expected 'unsigned char *' but argument is of type 'char *'
  107 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
gamedo.c:1051:13: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
 1051 |   font_draw(temp, x, OSD_Y, drawcharacter_clear);
      |             ^~~~
      |             |
      |             char *
In file included from gamedo.c:9:
gamedo.fdh:107:31: note: expected 'unsigned char *' but argument is of type 'char *'
  107 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
gamedo.c: In function 'DoMustKillYorps':
gamedo.c:1183:14: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
 1183 |    font_draw(temp, TEXT_X, y+mky.y+9, drawcharacter_clear_inversepink);
      |              ^~~~
      |              |
      |              char *
In file included from gamedo.c:9:
gamedo.fdh:107:31: note: expected 'unsigned char *' but argument is of type 'char *'
  107 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
gamedo.c:1185:14: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
 1185 |    font_draw(temp, TEXT_X, y+mky.y+9, drawcharacter_clear);
      |              ^~~~
      |              |
      |              char *
In file included from gamedo.c:9:
gamedo.fdh:107:31: note: expected 'unsigned char *' but argument is of type 'char *'
  107 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
gamedo.c:1173:21: warning: 'yadj' may be used uninitialized in this function [-Wmaybe-uninitialized]
 1173 |  drawsprite(OSD_X, y+yadj+mky.y, yorpspr);
      |                    ~^~~~~
gamedo.c:1173:2: warning: 'yorpspr' may be used uninitialized in this function [-Wmaybe-uninitialized]
 1173 |  drawsprite(OSD_X, y+yadj+mky.y, yorpspr);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c maploader.c -o maploader.o
maploader.c: In function 'rle_compress':
maploader.c:389:12: warning: unused variable 'lastword' [-Wunused-variable]
  389 | uint word, lastword, readword;
      |            ^~~~~~~~
maploader.c:459:1: warning: no return statement in function returning non-void [-Wreturn-type]
  459 | }
      | ^
maploader.c: In function 'AddEnemy':
maploader.c:488:12: warning: unused variable 'rndysize' [-Wunused-variable]
  488 | int ysize, rndysize;
      |            ^~~~~~~~
maploader.c:488:5: warning: unused variable 'ysize' [-Wunused-variable]
  488 | int ysize, rndysize;
      |     ^~~~~
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c fileio.c -o fileio.o
fileio.c: In function 'fileopen':
fileio.c:21:11: warning: pointer targets in passing argument 1 of 'strcpy' differ in signedness [-Wpointer-sign]
   21 |    strcpy(customname, levelcontrol.custom_episode_path);
      |           ^~~~~~~~~~
      |           |
      |           unsigned char *
In file included from /usr/include/features.h:450,
                 from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdio.h:27,
                 from keen.h:2,
                 from fileio.c:5:
/usr/include/bits/string_fortified.h:88:1: note: expected 'char * restrict' but argument is of type 'unsigned char *'
   88 | __NTH (strcpy (char *__restrict __dest, const char *__restrict __src))
      | ^~~~~
fileio.c:22:11: warning: pointer targets in passing argument 1 of 'strcat' differ in signedness [-Wpointer-sign]
   22 |    strcat(customname, name);
      |           ^~~~~~~~~~
      |           |
      |           unsigned char *
In file included from /usr/include/features.h:450,
                 from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdio.h:27,
                 from keen.h:2,
                 from fileio.c:5:
/usr/include/bits/string_fortified.h:126:1: note: expected 'char * restrict' but argument is of type 'unsigned char *'
  126 | __NTH (strcat (char *__restrict __dest, const char *__restrict __src))
      | ^~~~~
fileio.c:24:19: warning: pointer targets in passing argument 1 of 'fcaseopen' differ in signedness [-Wpointer-sign]
   24 |    fp = fcaseopen(customname, mode);
      |                   ^~~~~~~~~~
      |                   |
      |                   unsigned char *
In file included from fileio.c:6:
fileio.fdh:8:7: note: expected 'char *' but argument is of type 'unsigned char *'
    8 | FILE *fcaseopen(char *ci_name, char *mode);
      |       ^~~~~~~~~
fileio.c: In function 'fcaseopen':
fileio.c:73:5: warning: implicit declaration of function 'stat' [-Wimplicit-function-declaration]
   73 |     stat("trying '%s'", fname);
      |     ^~~~
fileio.c: In function 'LoadTGASprite':
fileio.c:136:10: warning: pointer targets in passing argument 1 of 'sprintf' differ in signedness [-Wpointer-sign]
  136 |  sprintf(fname, "%s%s", GFXDIR, filename);
      |          ^~~~~
      |          |
      |          unsigned char *
In file included from /usr/include/features.h:450,
                 from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdio.h:27,
                 from keen.h:2,
                 from fileio.c:5:
/usr/include/bits/stdio2.h:34:1: note: expected 'char * restrict' but argument is of type 'unsigned char *'
   34 | __NTH (sprintf (char *__restrict __s, const char *__restrict __fmt, ...))
      | ^~~~~
fileio.c:137:14: warning: pointer targets in passing argument 1 of 'LoadTGA' differ in signedness [-Wpointer-sign]
  137 |  if (LoadTGA(fname, &image, &w, &h))
      |              ^~~~~
      |              |
      |              unsigned char *
In file included from fileio.c:6:
fileio.fdh:52:20: note: expected 'char *' but argument is of type 'unsigned char *'
   52 | char LoadTGA(char *file, uchar **image, int *widthout, int *heightout);
      |              ~~~~~~^~~~
fileio.c: In function 'loadstrings':
fileio.c:429:35: warning: pointer targets in passing argument 1 of 'loadstrings_AddAttr' differ in signedness [-Wpointer-sign]
  429 |           if (loadstrings_AddAttr(stAttr, numStrings)) return 1;
      |                                   ^~~~~~
      |                                   |
      |                                   unsigned char *
fileio.c:299:32: note: expected 'char *' but argument is of type 'unsigned char *'
  299 | char loadstrings_AddAttr(char *attr, int stringIndex)
      |                          ~~~~~~^~~~
fileio.c:438:35: warning: pointer targets in passing argument 1 of 'loadstrings_AddAttr' differ in signedness [-Wpointer-sign]
  438 |           if (loadstrings_AddAttr(stAttr, numStrings)) return 1;
      |                                   ^~~~~~
      |                                   |
      |                                   unsigned char *
fileio.c:299:32: note: expected 'char *' but argument is of type 'unsigned char *'
  299 | char loadstrings_AddAttr(char *attr, int stringIndex)
      |                          ~~~~~~^~~~
fileio.c:516:26: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness [-Wpointer-sign]
  516 |         RAMSize = strlen(stName) + strlen(stString) + 2;
      |                          ^~~~~~
      |                          |
      |                          unsigned char *
In file included from keen.h:3,
                 from fileio.c:5:
/usr/include/string.h:385:35: note: expected 'const char *' but argument is of type 'unsigned char *'
  385 | extern size_t strlen (const char *__s)
      |                       ~~~~~~~~~~~~^~~
fileio.c:516:43: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness [-Wpointer-sign]
  516 |         RAMSize = strlen(stName) + strlen(stString) + 2;
      |                                           ^~~~~~~~
      |                                           |
      |                                           unsigned char *
In file included from keen.h:3,
                 from fileio.c:5:
/usr/include/string.h:385:35: note: expected 'const char *' but argument is of type 'unsigned char *'
  385 | extern size_t strlen (const char *__s)
      |                       ~~~~~~~~~~~~^~~
fileio.c:525:34: warning: pointer targets in assignment from 'char *' to 'unsigned char *' differ in signedness [-Wpointer-sign]
  525 |         strings[numStrings].name = &RAMPtr[0];
      |                                  ^
fileio.c:526:56: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness [-Wpointer-sign]
  526 |         strings[numStrings].stringptr = &RAMPtr[strlen(stName)+1];
      |                                                        ^~~~~~
      |                                                        |
      |                                                        unsigned char *
In file included from keen.h:3,
                 from fileio.c:5:
/usr/include/string.h:385:35: note: expected 'const char *' but argument is of type 'unsigned char *'
  385 | extern size_t strlen (const char *__s)
      |                       ~~~~~~~~~~~~^~~
fileio.c:526:39: warning: pointer targets in assignment from 'char *' to 'unsigned char *' differ in signedness [-Wpointer-sign]
  526 |         strings[numStrings].stringptr = &RAMPtr[strlen(stName)+1];
      |                                       ^
fileio.c:529:57: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness [-Wpointer-sign]
  529 |         memcpy(strings[numStrings].name, stName, strlen(stName)+1);
      |                                                         ^~~~~~
      |                                                         |
      |                                                         unsigned char *
In file included from keen.h:3,
                 from fileio.c:5:
/usr/include/string.h:385:35: note: expected 'const char *' but argument is of type 'unsigned char *'
  385 | extern size_t strlen (const char *__s)
      |                       ~~~~~~~~~~~~^~~
fileio.c:530:64: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness [-Wpointer-sign]
  530 |         memcpy(strings[numStrings].stringptr, stString, strlen(stString)+1);
      |                                                                ^~~~~~~~
      |                                                                |
      |                                                                unsigned char *
In file included from keen.h:3,
                 from fileio.c:5:
/usr/include/string.h:385:35: note: expected 'const char *' but argument is of type 'unsigned char *'
  385 | extern size_t strlen (const char *__s)
      |                       ~~~~~~~~~~~~^~~
fileio.c: In function 'getstring':
fileio.c:585:33: warning: pointer targets in passing argument 2 of 'strcmp' differ in signedness [-Wpointer-sign]
  585 |     if (!strcmp(name, strings[i].name))
      |                       ~~~~~~~~~~^~~~~
      |                                 |
      |                                 unsigned char *
In file included from keen.h:3,
                 from fileio.c:5:
/usr/include/string.h:137:50: note: expected 'const char *' but argument is of type 'unsigned char *'
  137 | extern int strcmp (const char *__s1, const char *__s2)
      |                                      ~~~~~~~~~~~~^~~~
fileio.c:587:24: warning: pointer targets in returning 'unsigned char *' from a function with return type 'char *' differ in signedness [-Wpointer-sign]
  587 |       return strings[i].stringptr;
      |              ~~~~~~~~~~^~~~~~~~~~
fileio.c: In function 'GetStringAttribute':
fileio.c:601:39: warning: pointer targets in passing argument 2 of 'strcmp' differ in signedness [-Wpointer-sign]
  601 |     if (!strcmp(stringName, strings[i].name))
      |                             ~~~~~~~~~~^~~~~
      |                                       |
      |                                       unsigned char *
In file included from keen.h:3,
                 from fileio.c:5:
/usr/include/string.h:137:50: note: expected 'const char *' but argument is of type 'unsigned char *'
  137 | extern int strcmp (const char *__s1, const char *__s2)
      |                                      ~~~~~~~~~~~~^~~~
fileio.c:606:51: warning: pointer targets in passing argument 2 of 'strcmp' differ in signedness [-Wpointer-sign]
  606 |         if (!strcmp(attrName, strings[i].attrnames[j]))
      |                               ~~~~~~~~~~~~~~~~~~~~^~~
      |                                                   |
      |                                                   unsigned char *
In file included from keen.h:3,
                 from fileio.c:5:
/usr/include/string.h:137:50: note: expected 'const char *' but argument is of type 'unsigned char *'
  137 | extern int strcmp (const char *__s1, const char *__s2)
      |                                      ~~~~~~~~~~~~^~~~
fileio.c: In function 'DefaultOptions':
fileio.c:624:2: warning: 'memset' used with length equal to number of elements without multiplication by element size [-Wmemset-elt-size]
  624 |  memset(options, 0, NUM_OPTIONS);
      |  ^~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c palette.c -o palette.o
palette.c: In function 'pal_fade':
palette.c:79:19: warning: array subscript has type 'char' [-Wchar-subscripts]
   79 |   r = palette[c].r[isdark];
      |                   ^
palette.c:80:19: warning: array subscript has type 'char' [-Wchar-subscripts]
   80 |   g = palette[c].g[isdark];
      |                   ^
palette.c:81:19: warning: array subscript has type 'char' [-Wchar-subscripts]
   81 |   b = palette[c].b[isdark];
      |                   ^
palette.c: In function 'pal_getcolor':
palette.c:167:19: warning: array subscript has type 'char' [-Wchar-subscripts]
  167 |   if (palette[i].r[isdark]==r &&\
      |                   ^
palette.c:168:16: warning: array subscript has type 'char' [-Wchar-subscripts]
  168 |    palette[i].g[isdark]==g &&\
      |                ^
palette.c:169:16: warning: array subscript has type 'char' [-Wchar-subscripts]
  169 |    palette[i].b[isdark]==b)
      |                ^
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c graphics.c -o graphics.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c fonts.c -o fonts.o
fonts.c: In function 'font_draw':
fonts.c:8:18: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness [-Wpointer-sign]
    8 | int len = strlen(text);
      |                  ^~~~
      |                  |
      |                  unsigned char *
In file included from keen.h:3,
                 from fonts.c:2:
/usr/include/string.h:385:35: note: expected 'const char *' but argument is of type 'unsigned char *'
  385 | extern size_t strlen (const char *__s)
      |                       ~~~~~~~~~~~~^~~
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c editor/editor.c -o editor/editor.o
In file included from editor/editor.c:91:
editor/buttons.c: In function 'drawbutton':
editor/buttons.c:7:12: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
    7 |  font_draw(txt,x+2,y+2,drawcharacter_clear);
      |            ^~~
      |            |
      |            char *
In file included from editor/editor.c:4:
editor/editor.fdh:152:31: note: expected 'unsigned char *' but argument is of type 'char *'
  152 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
In file included from editor/editor.c:92:
editor/ghosting.c: In function 'editor_set_do_ghosting':
editor/ghosting.c:45:12: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
   45 |  font_draw(ptr,LASTBUTTON_X-2,LASTBUTTON_Y+BUTTON_H+6+8,drawcharacter_clear_erasebg);
      |            ^~~
      |            |
      |            char *
In file included from editor/editor.c:4:
editor/editor.fdh:152:31: note: expected 'unsigned char *' but argument is of type 'char *'
  152 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
In file included from editor/editor.c:93:
editor/autoblock.c: In function 'drawcurautoblock':
editor/autoblock.c:158:12: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
  158 |  font_draw(txt, x, AB_LASTBUTTON_Y+BUTTON_H+3, drawcharacter_clear_erasebg);
      |            ^~~
      |            |
      |            char *
In file included from editor/editor.c:4:
editor/editor.fdh:152:31: note: expected 'unsigned char *' but argument is of type 'char *'
  152 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
editor/editor.c: In function 'drawtiles':
editor/editor.c:209:12: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
  209 |  font_draw(textbuf1, CURTILE_LEFT, CURTILE_TOP, drawcharacter_clear_erasebg);
      |            ^~~~~~~~
      |            |
      |            char *
In file included from editor/editor.c:4:
editor/editor.fdh:152:31: note: expected 'unsigned char *' but argument is of type 'char *'
  152 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
editor/editor.c: In function 'drawcurenemy':
editor/editor.c:238:12: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
  238 |  font_draw(text,LASTBUTTON_X+2,LASTBUTTON_Y+BUTTON_H+6,drawcharacter_clear_erasebg);
      |            ^~~~
      |            |
      |            char *
In file included from editor/editor.c:4:
editor/editor.fdh:152:31: note: expected 'unsigned char *' but argument is of type 'char *'
  152 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
editor/editor.c: In function 'editor_run':
editor/editor.c:780:14: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
  780 |    font_draw(txt, COORDS_LEFT, COORDS_TOP, drawcharacter_clear_erasebg);
      |              ^~~
      |              |
      |              char *
In file included from editor/editor.c:4:
editor/editor.fdh:152:31: note: expected 'unsigned char *' but argument is of type 'char *'
  152 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
editor/editor.c:764:5: warning: unused variable 'i' [-Wunused-variable]
  764 | int i;
      |     ^
editor/editor.c: In function 'storemap':
editor/editor.c:924:2: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
  924 |  for(y=0;y<map.ysize;y++)
      |  ^~~
editor/editor.c:932:3: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
  932 |   whichmap = MAP_ORIGINAL;
      |   ^~~~~~~~
editor/editor.c: In function 'showrunstop':
editor/editor.c:992:13: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
  992 |   font_draw("RUN", RS_LEFT+4, RS_TOP, drawcharacter_clear);
      |             ^~~~~
      |             |
      |             char *
In file included from editor/editor.c:4:
editor/editor.fdh:152:31: note: expected 'unsigned char *' but argument is of type 'char *'
  152 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
editor/editor.c:996:13: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
  996 |   font_draw("STOP", RS_LEFT, RS_TOP, drawcharacter_clear_erasebg);
      |             ^~~~~~
      |             |
      |             char *
In file included from editor/editor.c:4:
editor/editor.fdh:152:31: note: expected 'unsigned char *' but argument is of type 'char *'
  152 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
In file included from editor/editor.c:93:
editor/editor.c: In function 'chgcurautoblock.constprop':
editor/autoblock.c:71:9: warning: 'block' may be used uninitialized in this function [-Wmaybe-uninitialized]
   71 |  return &block[index];
      |         ^~~~~~~~~~~~~
editor/autoblock.c:62:6: note: 'block' was declared here
   62 | int *block;
      |      ^~~~~
editor/autoblock.c: In function 'getautoblock':
editor/autoblock.c:71:9: warning: 'block' may be used uninitialized in this function [-Wmaybe-uninitialized]
   71 |  return &block[index];
      |         ^~~~~~~~~~~~~
editor/editor.c: In function 'editor_keyshortcuts':
editor/autoblock.c:71:9: warning: 'block' may be used uninitialized in this function [-Wmaybe-uninitialized]
   71 |  return &block[index];
      |         ^~~~~~~~~~~~~
editor/autoblock.c:62:6: note: 'block' was declared here
   62 | int *block;
      |      ^~~~~
editor/editor.c: In function 'editor_run':
editor/autoblock.c:71:9: warning: 'block' may be used uninitialized in this function [-Wmaybe-uninitialized]
   71 |  return &block[index];
      |         ^~~~~~~~~~~~~
editor/autoblock.c:62:6: note: 'block' was declared here
   62 | int *block;
      |      ^~~~~
editor/autoblock.c:71:9: warning: 'block' may be used uninitialized in this function [-Wmaybe-uninitialized]
   71 |  return &block[index];
      |         ^~~~~~~~~~~~~
editor/autoblock.c:62:6: note: 'block' was declared here
   62 | int *block;
      |      ^~~~~
editor/autoblock.c:71:9: warning: 'block' may be used uninitialized in this function [-Wmaybe-uninitialized]
   71 |  return &block[index];
      |         ^~~~~~~~~~~~~
editor/autoblock.c:62:6: note: 'block' was declared here
   62 | int *block;
      |      ^~~~~
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c gamepdo.c -o gamepdo.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c misc_ui.c -o misc_ui.o
misc_ui.c: In function 'ShipEp3':
misc_ui.c:136:8: warning: type defaults to 'int' in declaration of 'lastpick' [-Wimplicit-int]
  136 | static lastpick = -1;
      |        ^~~~~~~~
misc_ui.c: In function 'DrawStatusBox':
misc_ui.c:164:12: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
  164 |  font_draw(tempbuf, (statX+12-strlen(tempbuf))<<3, (statY+2)<<3, drawcharacter);
      |            ^~~~~~~
      |            |
      |            char *
In file included from misc_ui.c:3:
misc_ui.fdh:27:31: note: expected 'unsigned char *' but argument is of type 'char *'
   27 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
misc_ui.c:169:12: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
  169 |  font_draw(tempbuf, (statX+28-strlen(tempbuf))<<3, (statY+2)<<3, drawcharacter);
      |            ^~~~~~~
      |            |
      |            char *
In file included from misc_ui.c:3:
misc_ui.fdh:27:31: note: expected 'unsigned char *' but argument is of type 'char *'
   27 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
misc_ui.c: In function 'inventory_draw_ep1':
misc_ui.c:191:12: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
  191 |  font_draw(getstring("EP1_StatusBox"), (statX+1)<<3, (statY+1)<<3, drawcharacter);
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |            |
      |            char *
In file included from misc_ui.c:3:
misc_ui.fdh:27:31: note: expected 'unsigned char *' but argument is of type 'char *'
   27 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
misc_ui.c: In function 'inventory_draw_ep2':
misc_ui.c:231:12: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
  231 |  font_draw(getstring("EP2_StatusBox"), (statX+1)<<3, (statY+1)<<3, drawcharacter);
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |            |
      |            char *
In file included from misc_ui.c:3:
misc_ui.fdh:27:31: note: expected 'unsigned char *' but argument is of type 'char *'
   27 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
misc_ui.c:239:50: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
  239 |  if (levelcontrol.levels_completed[4]) font_draw(getstring("EP2_LVL4_TargetName"), (statX+1)<<3, (statY+8)<<3, drawcharacter);
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                  |
      |                                                  char *
In file included from misc_ui.c:3:
misc_ui.fdh:27:31: note: expected 'unsigned char *' but argument is of type 'char *'
   27 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
misc_ui.c:240:50: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
  240 |  if (levelcontrol.levels_completed[6]) font_draw(getstring("EP2_LVL6_TargetName"), (statX+8)<<3, (statY+8)<<3, drawcharacter);
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                  |
      |                                                  char *
In file included from misc_ui.c:3:
misc_ui.fdh:27:31: note: expected 'unsigned char *' but argument is of type 'char *'
   27 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
misc_ui.c:241:50: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
  241 |  if (levelcontrol.levels_completed[7]) font_draw(getstring("EP2_LVL7_TargetName"), (statX+1)<<3, (statY+9)<<3, drawcharacter);
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                  |
      |                                                  char *
In file included from misc_ui.c:3:
misc_ui.fdh:27:31: note: expected 'unsigned char *' but argument is of type 'char *'
   27 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
misc_ui.c:242:51: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
  242 |  if (levelcontrol.levels_completed[11]) font_draw(getstring("EP2_LVL11_TargetName"), (statX+1)<<3, (statY+10)<<3, drawcharacter);
      |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                   |
      |                                                   char *
In file included from misc_ui.c:3:
misc_ui.fdh:27:31: note: expected 'unsigned char *' but argument is of type 'char *'
   27 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
misc_ui.c:243:50: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
  243 |  if (levelcontrol.levels_completed[9]) font_draw(getstring("EP2_LVL9_TargetName"), (statX+8)<<3, (statY+10)<<3, drawcharacter);
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                  |
      |                                                  char *
In file included from misc_ui.c:3:
misc_ui.fdh:27:31: note: expected 'unsigned char *' but argument is of type 'char *'
   27 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
misc_ui.c:244:51: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
  244 |  if (levelcontrol.levels_completed[13]) font_draw(getstring("EP2_LVL13_TargetName"), (statX+1)<<3, (statY+11)<<3, drawcharacter);
      |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                   |
      |                                                   char *
In file included from misc_ui.c:3:
misc_ui.fdh:27:31: note: expected 'unsigned char *' but argument is of type 'char *'
   27 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
misc_ui.c:245:51: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
  245 |  if (levelcontrol.levels_completed[15]) font_draw(getstring("EP2_LVL15_TargetName"), (statX+8)<<3, (statY+9)<<3, drawcharacter);
      |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                   |
      |                                                   char *
In file included from misc_ui.c:3:
misc_ui.fdh:27:31: note: expected 'unsigned char *' but argument is of type 'char *'
   27 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
misc_ui.c:246:51: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
  246 |  if (levelcontrol.levels_completed[16]) font_draw(getstring("EP2_LVL16_TargetName"), (statX+8)<<3, (statY+11)<<3, drawcharacter);
      |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                   |
      |                                                   char *
In file included from misc_ui.c:3:
misc_ui.fdh:27:31: note: expected 'unsigned char *' but argument is of type 'char *'
   27 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
misc_ui.c:255:12: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
  255 |  font_draw(tempbuf, (statX+27-strlen(tempbuf))<<3, ((statY+5)<<3)-1, drawcharacter);
      |            ^~~~~~~
      |            |
      |            char *
In file included from misc_ui.c:3:
misc_ui.fdh:27:31: note: expected 'unsigned char *' but argument is of type 'char *'
   27 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
misc_ui.c: In function 'inventory_draw_ep3':
misc_ui.c:268:13: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
  268 |   font_draw(getstring("EP3_StatusBox"), (statX+1)<<3, (statY+1)<<3, drawcharacter);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |             |
      |             char *
In file included from misc_ui.c:3:
misc_ui.fdh:27:31: note: expected 'unsigned char *' but argument is of type 'char *'
   27 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
misc_ui.c:275:13: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
  275 |   font_draw(tempbuf, (statX+8)<<3, ((statY+8)<<3)+7, drawcharacter);
      |             ^~~~~~~
      |             |
      |             char *
In file included from misc_ui.c:3:
misc_ui.fdh:27:31: note: expected 'unsigned char *' but argument is of type 'char *'
   27 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
misc_ui.c: In function 'showcharges_ep13':
misc_ui.c:299:12: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
  299 |  font_draw(tempbuf, x, y, drawcharacter);
      |            ^~~~~~~
      |            |
      |            char *
In file included from misc_ui.c:3:
misc_ui.fdh:27:31: note: expected 'unsigned char *' but argument is of type 'char *'
   27 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
misc_ui.c: In function 'Show_Ysiym':
misc_ui.c:64:26: warning: '%d' directive writing between 1 and 11 bytes into a region of size between 0 and 39 [-Wformat-overflow=]
   64 |     sprintf(msgname, "%s_%d_%02x%02x", prefix, levelcontrol.curlevel, mpx, mpy);
      |                          ^~
misc_ui.c:64:22: note: using the range [0, 4294967295] for directive argument
   64 |     sprintf(msgname, "%s_%d_%02x%02x", prefix, levelcontrol.curlevel, mpx, mpy);
      |                      ^~~~~~~~~~~~~~~~
misc_ui.c:64:22: note: using the range [0, 4294967295] for directive argument
In file included from /usr/include/stdio.h:867,
                 from keen.h:2,
                 from misc_ui.c:2:
/usr/include/bits/stdio2.h:36:10: note: '__builtin___sprintf_chk' output between 8 and 69 bytes into a destination of size 40
   36 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   37 |       __bos (__s), __fmt, __va_arg_pack ());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
misc_ui.c:68:24: warning: '%d' directive writing between 1 and 11 bytes into a region of size between 0 and 39 [-Wformat-overflow=]
   68 |   sprintf(msgname, "%s_%d", prefix, levelcontrol.curlevel);
      |                        ^~
In file included from /usr/include/stdio.h:867,
                 from keen.h:2,
                 from misc_ui.c:2:
/usr/include/bits/stdio2.h:36:10: note: '__builtin___sprintf_chk' output between 3 and 52 bytes into a destination of size 40
   36 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   37 |       __bos (__s), __fmt, __va_arg_pack ());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
misc_ui.c:72:24: warning: '_DEFAULT' directive writing 8 bytes into a region of size between 1 and 40 [-Wformat-overflow=]
   72 |    sprintf(msgname, "%s_DEFAULT", prefix);
      |                        ^~~~~~~~
In file included from /usr/include/stdio.h:867,
                 from keen.h:2,
                 from misc_ui.c:2:
/usr/include/bits/stdio2.h:36:10: note: '__builtin___sprintf_chk' output between 9 and 48 bytes into a destination of size 40
   36 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   37 |       __bos (__s), __fmt, __va_arg_pack ());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c misc.c -o misc.o
misc.c: In function 'drawkeensleft':
misc.c:354:12: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
  354 |  font_draw(getstring("LIVES_LEFT_BACKGROUND"),(KEENSLEFT_X+1)*8,(boxY+1)*8,drawcharacter);
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |            |
      |            char *
In file included from misc.c:10:
misc.fdh:47:31: note: expected 'unsigned char *' but argument is of type 'char *'
   47 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
misc.c:355:12: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
  355 |  font_draw(getstring("LIVES_LEFT"),((KEENSLEFT_X+7)*8)+4,(boxY+1)*8,drawcharacter);
      |            ^~~~~~~~~~~~~~~~~~~~~~~
      |            |
      |            char *
In file included from misc.c:10:
misc.fdh:47:31: note: expected 'unsigned char *' but argument is of type 'char *'
   47 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c ini.c -o ini.o
ini.c: In function 'BufferIni':
ini.c:46:9: warning: pointer targets in passing argument 1 of 'fgets' differ in signedness [-Wpointer-sign]
   46 |   fgets(line, sizeof(line)-1, fp);
      |         ^~~~
      |         |
      |         unsigned char *
In file included from /usr/include/stdio.h:867,
                 from ini.c:4:
/usr/include/bits/stdio2.h:255:25: note: expected 'char * restrict' but argument is of type 'unsigned char *'
  255 | fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
      |        ~~~~~~~~~~~~~~~~~^~~
ini.c:48:21: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness [-Wpointer-sign]
   48 |   while(line[strlen(line)-1]==13||line[strlen(line)-1]==10) line[strlen(line)-1]=0;
      |                     ^~~~
      |                     |
      |                     unsigned char *
In file included from keen.h:3,
                 from ini.c:5:
/usr/include/string.h:385:35: note: expected 'const char *' but argument is of type 'unsigned char *'
  385 | extern size_t strlen (const char *__s)
      |                       ~~~~~~~~~~~~^~~
ini.c:48:47: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness [-Wpointer-sign]
   48 |   while(line[strlen(line)-1]==13||line[strlen(line)-1]==10) line[strlen(line)-1]=0;
      |                                               ^~~~
      |                                               |
      |                                               unsigned char *
In file included from keen.h:3,
                 from ini.c:5:
/usr/include/string.h:385:35: note: expected 'const char *' but argument is of type 'unsigned char *'
  385 | extern size_t strlen (const char *__s)
      |                       ~~~~~~~~~~~~^~~
ini.c:48:73: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness [-Wpointer-sign]
   48 |   while(line[strlen(line)-1]==13||line[strlen(line)-1]==10) line[strlen(line)-1]=0;
      |                                                                         ^~~~
      |                                                                         |
      |                                                                         unsigned char *
In file included from keen.h:3,
                 from ini.c:5:
/usr/include/string.h:385:35: note: expected 'const char *' but argument is of type 'unsigned char *'
  385 | extern size_t strlen (const char *__s)
      |                       ~~~~~~~~~~~~^~~
ini.c:53:49: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness [-Wpointer-sign]
   53 |   if ((linebuf[nIniLines]=(char *)malloc(strlen(line) + 1))==NULL)
      |                                                 ^~~~
      |                                                 |
      |                                                 unsigned char *
In file included from keen.h:3,
                 from ini.c:5:
/usr/include/string.h:385:35: note: expected 'const char *' but argument is of type 'unsigned char *'
  385 | extern size_t strlen (const char *__s)
      |                       ~~~~~~~~~~~~^~~
ini.c:59:30: warning: pointer targets in passing argument 2 of 'strcpy' differ in signedness [-Wpointer-sign]
   59 |   strcpy(linebuf[nIniLines], line);
      |                              ^~~~
      |                              |
      |                              unsigned char *
In file included from /usr/include/features.h:450,
                 from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdio.h:27,
                 from ini.c:4:
/usr/include/bits/string_fortified.h:88:1: note: expected 'const char * restrict' but argument is of type 'unsigned char *'
   88 | __NTH (strcpy (char *__restrict __dest, const char *__restrict __src))
      | ^~~~~
ini.c:46:3: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result]
   46 |   fgets(line, sizeof(line)-1, fp);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c intro.c -o intro.o
intro.c: In function 'intro':
intro.c:47:7: warning: unused variable 'ScrollTextErase' [-Wunused-variable]
   47 | char *ScrollTextErase  = "               ";
      |       ^~~~~~~~~~~~~~~
intro.c:34:14: warning: variable 'y4' set but not used [-Wunused-but-set-variable]
   34 | int y1,y2,y3,y4;
      |              ^~
intro.c:33:14: warning: variable 'x4' set but not used [-Wunused-but-set-variable]
   33 | int x1,x2,x3,x4;
      |              ^~
intro.c:33:11: warning: variable 'x3' set but not used [-Wunused-but-set-variable]
   33 | int x1,x2,x3,x4;
      |           ^~
intro.c:33:8: warning: variable 'x2' set but not used [-Wunused-but-set-variable]
   33 | int x1,x2,x3,x4;
      |        ^~
intro.c:33:5: warning: variable 'x1' set but not used [-Wunused-but-set-variable]
   33 | int x1,x2,x3,x4;
      |     ^~
intro.c:23:5: warning: unused variable 'xb' [-Wunused-variable]
   23 | int xb,yb;
      |     ^~
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c menu_options.c -o menu_options.o
menu_options.c:12:29: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   12 | uchar *option_menu[MAXM] = {(6*8)+2,2,  8, options_savestate, SaveOptions, NULL, NULL,
      |                             ^
menu_options.c:12:29: note: (near initialization for 'option_menu[0]')
menu_options.c:12:37: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   12 | uchar *option_menu[MAXM] = {(6*8)+2,2,  8, options_savestate, SaveOptions, NULL, NULL,
      |                                     ^
menu_options.c:12:37: note: (near initialization for 'option_menu[1]')
menu_options.c:12:41: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   12 | uchar *option_menu[MAXM] = {(6*8)+2,2,  8, options_savestate, SaveOptions, NULL, NULL,
      |                                         ^
menu_options.c:12:41: note: (near initialization for 'option_menu[2]')
menu_options.c:12:44: warning: initialization of 'unsigned char *' from incompatible pointer type 'void (*)(void)' [-Wincompatible-pointer-types]
   12 | uchar *option_menu[MAXM] = {(6*8)+2,2,  8, options_savestate, SaveOptions, NULL, NULL,
      |                                            ^~~~~~~~~~~~~~~~~
menu_options.c:12:44: note: (near initialization for 'option_menu[3]')
menu_options.c:12:63: warning: initialization of 'unsigned char *' from incompatible pointer type 'void (*)(void)' [-Wincompatible-pointer-types]
   12 | uchar *option_menu[MAXM] = {(6*8)+2,2,  8, options_savestate, SaveOptions, NULL, NULL,
      |                                                               ^~~~~~~~~~~
menu_options.c:12:63: note: (near initialization for 'option_menu[4]')
menu_options.c:13:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   13 |      "Render Mode", MNU_DYNAMICTEXT, SetRenderMode, 0,
      |      ^~~~~~~~~~~~~
menu_options.c:13:6: note: (near initialization for 'option_menu[7]')
In file included from menu_options.c:5:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:13:21: note: in expansion of macro 'MNU_DYNAMICTEXT'
   13 |      "Render Mode", MNU_DYNAMICTEXT, SetRenderMode, 0,
      |                     ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'option_menu[8]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:13:21: note: in expansion of macro 'MNU_DYNAMICTEXT'
   13 |      "Render Mode", MNU_DYNAMICTEXT, SetRenderMode, 0,
      |                     ^~~~~~~~~~~~~~~
menu_options.c:13:38: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  char)' [-Wincompatible-pointer-types]
   13 |      "Render Mode", MNU_DYNAMICTEXT, SetRenderMode, 0,
      |                                      ^~~~~~~~~~~~~
menu_options.c:13:38: note: (near initialization for 'option_menu[9]')
menu_options.c:14:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   14 |      "Render FPS", MNU_DYNAMICTEXT, SetRenderFPS, 0,
      |      ^~~~~~~~~~~~
menu_options.c:14:6: note: (near initialization for 'option_menu[11]')
In file included from menu_options.c:5:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:14:20: note: in expansion of macro 'MNU_DYNAMICTEXT'
   14 |      "Render FPS", MNU_DYNAMICTEXT, SetRenderFPS, 0,
      |                    ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'option_menu[12]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:14:20: note: in expansion of macro 'MNU_DYNAMICTEXT'
   14 |      "Render FPS", MNU_DYNAMICTEXT, SetRenderFPS, 0,
      |                    ^~~~~~~~~~~~~~~
menu_options.c:14:37: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  char)' [-Wincompatible-pointer-types]
   14 |      "Render FPS", MNU_DYNAMICTEXT, SetRenderFPS, 0,
      |                                     ^~~~~~~~~~~~
menu_options.c:14:37: note: (near initialization for 'option_menu[13]')
menu_options.c:15:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   15 |      "P1 Color", MNU_DYNAMICTEXT, SetPColor, OPT_P1COLOR,
      |      ^~~~~~~~~~
menu_options.c:15:6: note: (near initialization for 'option_menu[15]')
In file included from menu_options.c:5:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:15:18: note: in expansion of macro 'MNU_DYNAMICTEXT'
   15 |      "P1 Color", MNU_DYNAMICTEXT, SetPColor, OPT_P1COLOR,
      |                  ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'option_menu[16]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:15:18: note: in expansion of macro 'MNU_DYNAMICTEXT'
   15 |      "P1 Color", MNU_DYNAMICTEXT, SetPColor, OPT_P1COLOR,
      |                  ^~~~~~~~~~~~~~~
menu_options.c:15:35: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  char)' [-Wincompatible-pointer-types]
   15 |      "P1 Color", MNU_DYNAMICTEXT, SetPColor, OPT_P1COLOR,
      |                                   ^~~~~~~~~
menu_options.c:15:35: note: (near initialization for 'option_menu[17]')
In file included from menu_options.c:3:
keen.h:297:24: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  297 | #define OPT_P1COLOR    18  // player 1 color
      |                        ^~
menu_options.c:15:46: note: in expansion of macro 'OPT_P1COLOR'
   15 |      "P1 Color", MNU_DYNAMICTEXT, SetPColor, OPT_P1COLOR,
      |                                              ^~~~~~~~~~~
keen.h:297:24: note: (near initialization for 'option_menu[18]')
  297 | #define OPT_P1COLOR    18  // player 1 color
      |                        ^~
menu_options.c:15:46: note: in expansion of macro 'OPT_P1COLOR'
   15 |      "P1 Color", MNU_DYNAMICTEXT, SetPColor, OPT_P1COLOR,
      |                                              ^~~~~~~~~~~
menu_options.c:16:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   16 |      "P2 Color", MNU_DYNAMICTEXT, SetPColor, OPT_P2COLOR,
      |      ^~~~~~~~~~
menu_options.c:16:6: note: (near initialization for 'option_menu[19]')
In file included from menu_options.c:5:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:16:18: note: in expansion of macro 'MNU_DYNAMICTEXT'
   16 |      "P2 Color", MNU_DYNAMICTEXT, SetPColor, OPT_P2COLOR,
      |                  ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'option_menu[20]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:16:18: note: in expansion of macro 'MNU_DYNAMICTEXT'
   16 |      "P2 Color", MNU_DYNAMICTEXT, SetPColor, OPT_P2COLOR,
      |                  ^~~~~~~~~~~~~~~
menu_options.c:16:35: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  char)' [-Wincompatible-pointer-types]
   16 |      "P2 Color", MNU_DYNAMICTEXT, SetPColor, OPT_P2COLOR,
      |                                   ^~~~~~~~~
menu_options.c:16:35: note: (near initialization for 'option_menu[21]')
In file included from menu_options.c:3:
keen.h:298:24: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  298 | #define OPT_P2COLOR    19  // player 2 color
      |                        ^~
menu_options.c:16:46: note: in expansion of macro 'OPT_P2COLOR'
   16 |      "P2 Color", MNU_DYNAMICTEXT, SetPColor, OPT_P2COLOR,
      |                                              ^~~~~~~~~~~
keen.h:298:24: note: (near initialization for 'option_menu[22]')
  298 | #define OPT_P2COLOR    19  // player 2 color
      |                        ^~
menu_options.c:16:46: note: in expansion of macro 'OPT_P2COLOR'
   16 |      "P2 Color", MNU_DYNAMICTEXT, SetPColor, OPT_P2COLOR,
      |                                              ^~~~~~~~~~~
menu_options.c:17:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   17 |      "Input P2...", MNU_SWITCHMENU, keysetup_menu2, 0,
      |      ^~~~~~~~~~~~~
menu_options.c:17:6: note: (near initialization for 'option_menu[23]')
In file included from menu_options.c:5:
menu.h:60:25: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menu_options.c:17:21: note: in expansion of macro 'MNU_SWITCHMENU'
   17 |      "Input P2...", MNU_SWITCHMENU, keysetup_menu2, 0,
      |                     ^~~~~~~~~~~~~~
menu.h:60:25: note: (near initialization for 'option_menu[24]')
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menu_options.c:17:21: note: in expansion of macro 'MNU_SWITCHMENU'
   17 |      "Input P2...", MNU_SWITCHMENU, keysetup_menu2, 0,
      |                     ^~~~~~~~~~~~~~
menu_options.c:17:37: warning: initialization of 'unsigned char *' from incompatible pointer type 'unsigned char **' [-Wincompatible-pointer-types]
   17 |      "Input P2...", MNU_SWITCHMENU, keysetup_menu2, 0,
      |                                     ^~~~~~~~~~~~~~
menu_options.c:17:37: note: (near initialization for 'option_menu[25]')
menu_options.c:18:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   18 |      "Input P1...", MNU_SWITCHMENU, keysetup_menu1, 0,
      |      ^~~~~~~~~~~~~
menu_options.c:18:6: note: (near initialization for 'option_menu[27]')
In file included from menu_options.c:5:
menu.h:60:25: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menu_options.c:18:21: note: in expansion of macro 'MNU_SWITCHMENU'
   18 |      "Input P1...", MNU_SWITCHMENU, keysetup_menu1, 0,
      |                     ^~~~~~~~~~~~~~
menu.h:60:25: note: (near initialization for 'option_menu[28]')
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menu_options.c:18:21: note: in expansion of macro 'MNU_SWITCHMENU'
   18 |      "Input P1...", MNU_SWITCHMENU, keysetup_menu1, 0,
      |                     ^~~~~~~~~~~~~~
menu_options.c:18:37: warning: initialization of 'unsigned char *' from incompatible pointer type 'unsigned char **' [-Wincompatible-pointer-types]
   18 |      "Input P1...", MNU_SWITCHMENU, keysetup_menu1, 0,
      |                                     ^~~~~~~~~~~~~~
menu_options.c:18:37: note: (near initialization for 'option_menu[29]')
menu_options.c:19:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   19 |      "  Fullscreen", MNU_DYNAMICTEXT, OptionSetter, OPT_FULLSCREEN,
      |      ^~~~~~~~~~~~~~
menu_options.c:19:6: note: (near initialization for 'option_menu[31]')
In file included from menu_options.c:5:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:19:22: note: in expansion of macro 'MNU_DYNAMICTEXT'
   19 |      "  Fullscreen", MNU_DYNAMICTEXT, OptionSetter, OPT_FULLSCREEN,
      |                      ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'option_menu[32]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:19:22: note: in expansion of macro 'MNU_DYNAMICTEXT'
   19 |      "  Fullscreen", MNU_DYNAMICTEXT, OptionSetter, OPT_FULLSCREEN,
      |                      ^~~~~~~~~~~~~~~
menu_options.c:19:39: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   19 |      "  Fullscreen", MNU_DYNAMICTEXT, OptionSetter, OPT_FULLSCREEN,
      |                                       ^~~~~~~~~~~~
menu_options.c:19:39: note: (near initialization for 'option_menu[33]')
In file included from menu_options.c:3:
keen.h:286:33: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  286 | #define OPT_FULLSCREEN          7  // 1=full screen mode
      |                                 ^
menu_options.c:19:53: note: in expansion of macro 'OPT_FULLSCREEN'
   19 |      "  Fullscreen", MNU_DYNAMICTEXT, OptionSetter, OPT_FULLSCREEN,
      |                                                     ^~~~~~~~~~~~~~
keen.h:286:33: note: (near initialization for 'option_menu[34]')
  286 | #define OPT_FULLSCREEN          7  // 1=full screen mode
      |                                 ^
menu_options.c:19:53: note: in expansion of macro 'OPT_FULLSCREEN'
   19 |      "  Fullscreen", MNU_DYNAMICTEXT, OptionSetter, OPT_FULLSCREEN,
      |                                                     ^~~~~~~~~~~~~~
menu_options.c:22:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   22 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
menu_options.c:22:6: note: (near initialization for 'option_menu[35]')
menu_options.c:23:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   23 |      "  2-Button Firing", MNU_DYNAMICTEXT, OptionSetter, OPT_2BUTTONFIRING,
      |      ^~~~~~~~~~~~~~~~~~~
menu_options.c:23:6: note: (near initialization for 'option_menu[39]')
In file included from menu_options.c:5:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:23:27: note: in expansion of macro 'MNU_DYNAMICTEXT'
   23 |      "  2-Button Firing", MNU_DYNAMICTEXT, OptionSetter, OPT_2BUTTONFIRING,
      |                           ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'option_menu[40]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:23:27: note: in expansion of macro 'MNU_DYNAMICTEXT'
   23 |      "  2-Button Firing", MNU_DYNAMICTEXT, OptionSetter, OPT_2BUTTONFIRING,
      |                           ^~~~~~~~~~~~~~~
menu_options.c:23:44: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   23 |      "  2-Button Firing", MNU_DYNAMICTEXT, OptionSetter, OPT_2BUTTONFIRING,
      |                                            ^~~~~~~~~~~~
menu_options.c:23:44: note: (near initialization for 'option_menu[41]')
In file included from menu_options.c:3:
keen.h:280:28: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  280 | #define OPT_2BUTTONFIRING  1  // 1=standard ctrl+alt fire, 0=space fire
      |                            ^
menu_options.c:23:58: note: in expansion of macro 'OPT_2BUTTONFIRING'
   23 |      "  2-Button Firing", MNU_DYNAMICTEXT, OptionSetter, OPT_2BUTTONFIRING,
      |                                                          ^~~~~~~~~~~~~~~~~
keen.h:280:28: note: (near initialization for 'option_menu[42]')
  280 | #define OPT_2BUTTONFIRING  1  // 1=standard ctrl+alt fire, 0=space fire
      |                            ^
menu_options.c:23:58: note: in expansion of macro 'OPT_2BUTTONFIRING'
   23 |      "  2-Button Firing", MNU_DYNAMICTEXT, OptionSetter, OPT_2BUTTONFIRING,
      |                                                          ^~~~~~~~~~~~~~~~~
menu_options.c:24:41: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   24 |                                         "  Fully Automatic Raygun", MNU_DYNAMICTEXT, OptionSetter, OPT_FULLYAUTOMATIC,
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~
menu_options.c:24:41: note: (near initialization for 'option_menu[43]')
In file included from menu_options.c:5:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:24:69: note: in expansion of macro 'MNU_DYNAMICTEXT'
   24 |                                         "  Fully Automatic Raygun", MNU_DYNAMICTEXT, OptionSetter, OPT_FULLYAUTOMATIC,
      |                                                                     ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'option_menu[44]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:24:69: note: in expansion of macro 'MNU_DYNAMICTEXT'
   24 |                                         "  Fully Automatic Raygun", MNU_DYNAMICTEXT, OptionSetter, OPT_FULLYAUTOMATIC,
      |                                                                     ^~~~~~~~~~~~~~~
menu_options.c:24:86: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   24 |                                         "  Fully Automatic Raygun", MNU_DYNAMICTEXT, OptionSetter, OPT_FULLYAUTOMATIC,
      |                                                                                      ^~~~~~~~~~~~
menu_options.c:24:86: note: (near initialization for 'option_menu[45]')
In file included from menu_options.c:3:
keen.h:281:33: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  281 | #define OPT_FULLYAUTOMATIC      2  // 1=fully automatic raygun
      |                                 ^
menu_options.c:24:100: note: in expansion of macro 'OPT_FULLYAUTOMATIC'
   24 |                                         "  Fully Automatic Raygun", MNU_DYNAMICTEXT, OptionSetter, OPT_FULLYAUTOMATIC,
      |                                                                                                    ^~~~~~~~~~~~~~~~~~
keen.h:281:33: note: (near initialization for 'option_menu[46]')
  281 | #define OPT_FULLYAUTOMATIC      2  // 1=fully automatic raygun
      |                                 ^
menu_options.c:24:100: note: in expansion of macro 'OPT_FULLYAUTOMATIC'
   24 |                                         "  Fully Automatic Raygun", MNU_DYNAMICTEXT, OptionSetter, OPT_FULLYAUTOMATIC,
      |                                                                                                    ^~~~~~~~~~~~~~~~~~
menu_options.c:25:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   25 |      "  Super Pogo", MNU_DYNAMICTEXT, OptionSetter, OPT_SUPERPOGO,
      |      ^~~~~~~~~~~~~~
menu_options.c:25:6: note: (near initialization for 'option_menu[47]')
In file included from menu_options.c:5:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:25:22: note: in expansion of macro 'MNU_DYNAMICTEXT'
   25 |      "  Super Pogo", MNU_DYNAMICTEXT, OptionSetter, OPT_SUPERPOGO,
      |                      ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'option_menu[48]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:25:22: note: in expansion of macro 'MNU_DYNAMICTEXT'
   25 |      "  Super Pogo", MNU_DYNAMICTEXT, OptionSetter, OPT_SUPERPOGO,
      |                      ^~~~~~~~~~~~~~~
menu_options.c:25:39: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   25 |      "  Super Pogo", MNU_DYNAMICTEXT, OptionSetter, OPT_SUPERPOGO,
      |                                       ^~~~~~~~~~~~
menu_options.c:25:39: note: (near initialization for 'option_menu[49]')
In file included from menu_options.c:3:
keen.h:282:33: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  282 | #define OPT_SUPERPOGO           3  // 1=pogo jumps really high
      |                                 ^
menu_options.c:25:53: note: in expansion of macro 'OPT_SUPERPOGO'
   25 |      "  Super Pogo", MNU_DYNAMICTEXT, OptionSetter, OPT_SUPERPOGO,
      |                                                     ^~~~~~~~~~~~~
keen.h:282:33: note: (near initialization for 'option_menu[50]')
  282 | #define OPT_SUPERPOGO           3  // 1=pogo jumps really high
      |                                 ^
menu_options.c:25:53: note: in expansion of macro 'OPT_SUPERPOGO'
   25 |      "  Super Pogo", MNU_DYNAMICTEXT, OptionSetter, OPT_SUPERPOGO,
      |                                                     ^~~~~~~~~~~~~
menu_options.c:26:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   26 |      "  Enable Cheats", MNU_DYNAMICTEXT, OptionSetter, OPT_CHEATS,
      |      ^~~~~~~~~~~~~~~~~
menu_options.c:26:6: note: (near initialization for 'option_menu[51]')
In file included from menu_options.c:5:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:26:25: note: in expansion of macro 'MNU_DYNAMICTEXT'
   26 |      "  Enable Cheats", MNU_DYNAMICTEXT, OptionSetter, OPT_CHEATS,
      |                         ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'option_menu[52]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:26:25: note: in expansion of macro 'MNU_DYNAMICTEXT'
   26 |      "  Enable Cheats", MNU_DYNAMICTEXT, OptionSetter, OPT_CHEATS,
      |                         ^~~~~~~~~~~~~~~
menu_options.c:26:42: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   26 |      "  Enable Cheats", MNU_DYNAMICTEXT, OptionSetter, OPT_CHEATS,
      |                                          ^~~~~~~~~~~~
menu_options.c:26:42: note: (near initialization for 'option_menu[53]')
In file included from menu_options.c:3:
keen.h:285:33: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  285 | #define OPT_CHEATS              6  // 1=enable clonekeen-specific cheats
      |                                 ^
menu_options.c:26:56: note: in expansion of macro 'OPT_CHEATS'
   26 |      "  Enable Cheats", MNU_DYNAMICTEXT, OptionSetter, OPT_CHEATS,
      |                                                        ^~~~~~~~~~
keen.h:285:33: note: (near initialization for 'option_menu[54]')
  285 | #define OPT_CHEATS              6  // 1=enable clonekeen-specific cheats
      |                                 ^
menu_options.c:26:56: note: in expansion of macro 'OPT_CHEATS'
   26 |      "  Enable Cheats", MNU_DYNAMICTEXT, OptionSetter, OPT_CHEATS,
      |                                                        ^~~~~~~~~~
menu_options.c:27:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   27 |      "  Show Bonus Points", MNU_DYNAMICTEXT, OptionSetter, OPT_RISEBONUS,
      |      ^~~~~~~~~~~~~~~~~~~~~
menu_options.c:27:6: note: (near initialization for 'option_menu[55]')
In file included from menu_options.c:5:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:27:29: note: in expansion of macro 'MNU_DYNAMICTEXT'
   27 |      "  Show Bonus Points", MNU_DYNAMICTEXT, OptionSetter, OPT_RISEBONUS,
      |                             ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'option_menu[56]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:27:29: note: in expansion of macro 'MNU_DYNAMICTEXT'
   27 |      "  Show Bonus Points", MNU_DYNAMICTEXT, OptionSetter, OPT_RISEBONUS,
      |                             ^~~~~~~~~~~~~~~
menu_options.c:27:46: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   27 |      "  Show Bonus Points", MNU_DYNAMICTEXT, OptionSetter, OPT_RISEBONUS,
      |                                              ^~~~~~~~~~~~
menu_options.c:27:46: note: (near initialization for 'option_menu[57]')
In file included from menu_options.c:3:
keen.h:291:25: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  291 | #define OPT_RISEBONUS   12  // 1=show rising bonus points
      |                         ^~
menu_options.c:27:60: note: in expansion of macro 'OPT_RISEBONUS'
   27 |      "  Show Bonus Points", MNU_DYNAMICTEXT, OptionSetter, OPT_RISEBONUS,
      |                                                            ^~~~~~~~~~~~~
keen.h:291:25: note: (near initialization for 'option_menu[58]')
  291 | #define OPT_RISEBONUS   12  // 1=show rising bonus points
      |                         ^~
menu_options.c:27:60: note: in expansion of macro 'OPT_RISEBONUS'
   27 |      "  Show Bonus Points", MNU_DYNAMICTEXT, OptionSetter, OPT_RISEBONUS,
      |                                                            ^~~~~~~~~~~~~
menu_options.c:28:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   28 |      "  Show OSD", MNU_DYNAMICTEXT, OptionSetter, OPT_SHOWOSD,
      |      ^~~~~~~~~~~~
menu_options.c:28:6: note: (near initialization for 'option_menu[59]')
In file included from menu_options.c:5:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:28:20: note: in expansion of macro 'MNU_DYNAMICTEXT'
   28 |      "  Show OSD", MNU_DYNAMICTEXT, OptionSetter, OPT_SHOWOSD,
      |                    ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'option_menu[60]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:28:20: note: in expansion of macro 'MNU_DYNAMICTEXT'
   28 |      "  Show OSD", MNU_DYNAMICTEXT, OptionSetter, OPT_SHOWOSD,
      |                    ^~~~~~~~~~~~~~~
menu_options.c:28:37: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   28 |      "  Show OSD", MNU_DYNAMICTEXT, OptionSetter, OPT_SHOWOSD,
      |                                     ^~~~~~~~~~~~
menu_options.c:28:37: note: (near initialization for 'option_menu[61]')
In file included from menu_options.c:3:
keen.h:292:24: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  292 | #define OPT_SHOWOSD    13  // 1=show OSD
      |                        ^~
menu_options.c:28:51: note: in expansion of macro 'OPT_SHOWOSD'
   28 |      "  Show OSD", MNU_DYNAMICTEXT, OptionSetter, OPT_SHOWOSD,
      |                                                   ^~~~~~~~~~~
keen.h:292:24: note: (near initialization for 'option_menu[62]')
  292 | #define OPT_SHOWOSD    13  // 1=show OSD
      |                        ^~
menu_options.c:28:51: note: in expansion of macro 'OPT_SHOWOSD'
   28 |      "  Show OSD", MNU_DYNAMICTEXT, OptionSetter, OPT_SHOWOSD,
      |                                                   ^~~~~~~~~~~
menu_options.c:29:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   29 |      "  Show Score in OSD", MNU_DYNAMICTEXT, OptionSetter, OPT_SHOWSCORE,
      |      ^~~~~~~~~~~~~~~~~~~~~
menu_options.c:29:6: note: (near initialization for 'option_menu[63]')
In file included from menu_options.c:5:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:29:29: note: in expansion of macro 'MNU_DYNAMICTEXT'
   29 |      "  Show Score in OSD", MNU_DYNAMICTEXT, OptionSetter, OPT_SHOWSCORE,
      |                             ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'option_menu[64]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:29:29: note: in expansion of macro 'MNU_DYNAMICTEXT'
   29 |      "  Show Score in OSD", MNU_DYNAMICTEXT, OptionSetter, OPT_SHOWSCORE,
      |                             ^~~~~~~~~~~~~~~
menu_options.c:29:46: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   29 |      "  Show Score in OSD", MNU_DYNAMICTEXT, OptionSetter, OPT_SHOWSCORE,
      |                                              ^~~~~~~~~~~~
menu_options.c:29:46: note: (near initialization for 'option_menu[65]')
In file included from menu_options.c:3:
keen.h:293:25: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  293 | #define OPT_SHOWSCORE   14  // 1=show score in OSD
      |                         ^~
menu_options.c:29:60: note: in expansion of macro 'OPT_SHOWSCORE'
   29 |      "  Show Score in OSD", MNU_DYNAMICTEXT, OptionSetter, OPT_SHOWSCORE,
      |                                                            ^~~~~~~~~~~~~
keen.h:293:25: note: (near initialization for 'option_menu[66]')
  293 | #define OPT_SHOWSCORE   14  // 1=show score in OSD
      |                         ^~
menu_options.c:29:60: note: in expansion of macro 'OPT_SHOWSCORE'
   29 |      "  Show Score in OSD", MNU_DYNAMICTEXT, OptionSetter, OPT_SHOWSCORE,
      |                                                            ^~~~~~~~~~~~~
menu_options.c:30:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   30 |      "  Show Cards in OSD", MNU_DYNAMICTEXT, OptionSetter, OPT_SHOWCARDS,
      |      ^~~~~~~~~~~~~~~~~~~~~
menu_options.c:30:6: note: (near initialization for 'option_menu[67]')
In file included from menu_options.c:5:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:30:29: note: in expansion of macro 'MNU_DYNAMICTEXT'
   30 |      "  Show Cards in OSD", MNU_DYNAMICTEXT, OptionSetter, OPT_SHOWCARDS,
      |                             ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'option_menu[68]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:30:29: note: in expansion of macro 'MNU_DYNAMICTEXT'
   30 |      "  Show Cards in OSD", MNU_DYNAMICTEXT, OptionSetter, OPT_SHOWCARDS,
      |                             ^~~~~~~~~~~~~~~
menu_options.c:30:46: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   30 |      "  Show Cards in OSD", MNU_DYNAMICTEXT, OptionSetter, OPT_SHOWCARDS,
      |                                              ^~~~~~~~~~~~
menu_options.c:30:46: note: (near initialization for 'option_menu[69]')
In file included from menu_options.c:3:
keen.h:294:25: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  294 | #define OPT_SHOWCARDS   15  // 1=show cards in OSD
      |                         ^~
menu_options.c:30:60: note: in expansion of macro 'OPT_SHOWCARDS'
   30 |      "  Show Cards in OSD", MNU_DYNAMICTEXT, OptionSetter, OPT_SHOWCARDS,
      |                                                            ^~~~~~~~~~~~~
keen.h:294:25: note: (near initialization for 'option_menu[70]')
  294 | #define OPT_SHOWCARDS   15  // 1=show cards in OSD
      |                         ^~
menu_options.c:30:60: note: in expansion of macro 'OPT_SHOWCARDS'
   30 |      "  Show Cards in OSD", MNU_DYNAMICTEXT, OptionSetter, OPT_SHOWCARDS,
      |                                                            ^~~~~~~~~~~~~
menu_options.c:31:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   31 |      "  Doors Block Raygun", MNU_DYNAMICTEXT, OptionSetter, OPT_DOORSBLOCKRAY,
      |      ^~~~~~~~~~~~~~~~~~~~~~
menu_options.c:31:6: note: (near initialization for 'option_menu[71]')
In file included from menu_options.c:5:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:31:30: note: in expansion of macro 'MNU_DYNAMICTEXT'
   31 |      "  Doors Block Raygun", MNU_DYNAMICTEXT, OptionSetter, OPT_DOORSBLOCKRAY,
      |                              ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'option_menu[72]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:31:30: note: in expansion of macro 'MNU_DYNAMICTEXT'
   31 |      "  Doors Block Raygun", MNU_DYNAMICTEXT, OptionSetter, OPT_DOORSBLOCKRAY,
      |                              ^~~~~~~~~~~~~~~
menu_options.c:31:47: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   31 |      "  Doors Block Raygun", MNU_DYNAMICTEXT, OptionSetter, OPT_DOORSBLOCKRAY,
      |                                               ^~~~~~~~~~~~
menu_options.c:31:47: note: (near initialization for 'option_menu[73]')
In file included from menu_options.c:3:
keen.h:295:28: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  295 | #define OPT_DOORSBLOCKRAY  16  // 1=can't shoot through locked doors
      |                            ^~
menu_options.c:31:61: note: in expansion of macro 'OPT_DOORSBLOCKRAY'
   31 |      "  Doors Block Raygun", MNU_DYNAMICTEXT, OptionSetter, OPT_DOORSBLOCKRAY,
      |                                                             ^~~~~~~~~~~~~~~~~
keen.h:295:28: note: (near initialization for 'option_menu[74]')
  295 | #define OPT_DOORSBLOCKRAY  16  // 1=can't shoot through locked doors
      |                            ^~
menu_options.c:31:61: note: in expansion of macro 'OPT_DOORSBLOCKRAY'
   31 |      "  Doors Block Raygun", MNU_DYNAMICTEXT, OptionSetter, OPT_DOORSBLOCKRAY,
      |                                                             ^~~~~~~~~~~~~~~~~
menu_options.c:32:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   32 |      "  Quiet in Demo", MNU_DYNAMICTEXT, OptionSetter, OPT_SOUNDOFFINDEMO,
      |      ^~~~~~~~~~~~~~~~~
menu_options.c:32:6: note: (near initialization for 'option_menu[75]')
In file included from menu_options.c:5:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:32:25: note: in expansion of macro 'MNU_DYNAMICTEXT'
   32 |      "  Quiet in Demo", MNU_DYNAMICTEXT, OptionSetter, OPT_SOUNDOFFINDEMO,
      |                         ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'option_menu[76]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:32:25: note: in expansion of macro 'MNU_DYNAMICTEXT'
   32 |      "  Quiet in Demo", MNU_DYNAMICTEXT, OptionSetter, OPT_SOUNDOFFINDEMO,
      |                         ^~~~~~~~~~~~~~~
menu_options.c:32:42: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   32 |      "  Quiet in Demo", MNU_DYNAMICTEXT, OptionSetter, OPT_SOUNDOFFINDEMO,
      |                                          ^~~~~~~~~~~~
menu_options.c:32:42: note: (near initialization for 'option_menu[77]')
In file included from menu_options.c:3:
keen.h:296:29: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  296 | #define OPT_SOUNDOFFINDEMO  17  // no sound during demo
      |                             ^~
menu_options.c:32:56: note: in expansion of macro 'OPT_SOUNDOFFINDEMO'
   32 |      "  Quiet in Demo", MNU_DYNAMICTEXT, OptionSetter, OPT_SOUNDOFFINDEMO,
      |                                                        ^~~~~~~~~~~~~~~~~~
keen.h:296:29: note: (near initialization for 'option_menu[78]')
  296 | #define OPT_SOUNDOFFINDEMO  17  // no sound during demo
      |                             ^~
menu_options.c:32:56: note: in expansion of macro 'OPT_SOUNDOFFINDEMO'
   32 |      "  Quiet in Demo", MNU_DYNAMICTEXT, OptionSetter, OPT_SOUNDOFFINDEMO,
      |                                                        ^~~~~~~~~~~~~~~~~~
menu_options.c:33:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   33 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
menu_options.c:33:6: note: (near initialization for 'option_menu[79]')
menu_options.c:34:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   34 |      "  Increase Difficulty", MNU_DYNAMICTEXT, OptionSetter, OPT_HARD,
      |      ^~~~~~~~~~~~~~~~~~~~~~~
menu_options.c:34:6: note: (near initialization for 'option_menu[83]')
In file included from menu_options.c:5:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:34:31: note: in expansion of macro 'MNU_DYNAMICTEXT'
   34 |      "  Increase Difficulty", MNU_DYNAMICTEXT, OptionSetter, OPT_HARD,
      |                               ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'option_menu[84]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:34:31: note: in expansion of macro 'MNU_DYNAMICTEXT'
   34 |      "  Increase Difficulty", MNU_DYNAMICTEXT, OptionSetter, OPT_HARD,
      |                               ^~~~~~~~~~~~~~~
menu_options.c:34:48: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   34 |      "  Increase Difficulty", MNU_DYNAMICTEXT, OptionSetter, OPT_HARD,
      |                                                ^~~~~~~~~~~~
menu_options.c:34:48: note: (near initialization for 'option_menu[85]')
In file included from menu_options.c:3:
keen.h:283:33: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  283 | #define OPT_HARD                4  // 1=increase difficulty
      |                                 ^
menu_options.c:34:62: note: in expansion of macro 'OPT_HARD'
   34 |      "  Increase Difficulty", MNU_DYNAMICTEXT, OptionSetter, OPT_HARD,
      |                                                              ^~~~~~~~
keen.h:283:33: note: (near initialization for 'option_menu[86]')
  283 | #define OPT_HARD                4  // 1=increase difficulty
      |                                 ^
menu_options.c:34:62: note: in expansion of macro 'OPT_HARD'
   34 |      "  Increase Difficulty", MNU_DYNAMICTEXT, OptionSetter, OPT_HARD,
      |                                                              ^~~~~~~~
menu_options.c:35:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   35 |      "  Must Kill All Yorps", MNU_DYNAMICTEXT, OptionSetter, OPT_MUSTKILLYORPS,
      |      ^~~~~~~~~~~~~~~~~~~~~~~
menu_options.c:35:6: note: (near initialization for 'option_menu[87]')
In file included from menu_options.c:5:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:35:31: note: in expansion of macro 'MNU_DYNAMICTEXT'
   35 |      "  Must Kill All Yorps", MNU_DYNAMICTEXT, OptionSetter, OPT_MUSTKILLYORPS,
      |                               ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'option_menu[88]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:35:31: note: in expansion of macro 'MNU_DYNAMICTEXT'
   35 |      "  Must Kill All Yorps", MNU_DYNAMICTEXT, OptionSetter, OPT_MUSTKILLYORPS,
      |                               ^~~~~~~~~~~~~~~
menu_options.c:35:48: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   35 |      "  Must Kill All Yorps", MNU_DYNAMICTEXT, OptionSetter, OPT_MUSTKILLYORPS,
      |                                                ^~~~~~~~~~~~
menu_options.c:35:48: note: (near initialization for 'option_menu[89]')
In file included from menu_options.c:3:
keen.h:289:28: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  289 | #define OPT_MUSTKILLYORPS  10  // 1=must kill yorps to leave level
      |                            ^~
menu_options.c:35:62: note: in expansion of macro 'OPT_MUSTKILLYORPS'
   35 |      "  Must Kill All Yorps", MNU_DYNAMICTEXT, OptionSetter, OPT_MUSTKILLYORPS,
      |                                                              ^~~~~~~~~~~~~~~~~
keen.h:289:28: note: (near initialization for 'option_menu[90]')
  289 | #define OPT_MUSTKILLYORPS  10  // 1=must kill yorps to leave level
      |                            ^~
menu_options.c:35:62: note: in expansion of macro 'OPT_MUSTKILLYORPS'
   35 |      "  Must Kill All Yorps", MNU_DYNAMICTEXT, OptionSetter, OPT_MUSTKILLYORPS,
      |                                                              ^~~~~~~~~~~~~~~~~
menu_options.c:36:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   36 |      "  Give Yorps Shields", MNU_DYNAMICTEXT, OptionSetter, OPT_YORPFORCEFIELDS,
      |      ^~~~~~~~~~~~~~~~~~~~~~
menu_options.c:36:6: note: (near initialization for 'option_menu[91]')
In file included from menu_options.c:5:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:36:30: note: in expansion of macro 'MNU_DYNAMICTEXT'
   36 |      "  Give Yorps Shields", MNU_DYNAMICTEXT, OptionSetter, OPT_YORPFORCEFIELDS,
      |                              ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'option_menu[92]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_options.c:36:30: note: in expansion of macro 'MNU_DYNAMICTEXT'
   36 |      "  Give Yorps Shields", MNU_DYNAMICTEXT, OptionSetter, OPT_YORPFORCEFIELDS,
      |                              ^~~~~~~~~~~~~~~
menu_options.c:36:47: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   36 |      "  Give Yorps Shields", MNU_DYNAMICTEXT, OptionSetter, OPT_YORPFORCEFIELDS,
      |                                               ^~~~~~~~~~~~
menu_options.c:36:47: note: (near initialization for 'option_menu[93]')
In file included from menu_options.c:3:
keen.h:290:30: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  290 | #define OPT_YORPFORCEFIELDS  11  // 1=must stun yorps to kill them
      |                              ^~
menu_options.c:36:61: note: in expansion of macro 'OPT_YORPFORCEFIELDS'
   36 |      "  Give Yorps Shields", MNU_DYNAMICTEXT, OptionSetter, OPT_YORPFORCEFIELDS,
      |                                                             ^~~~~~~~~~~~~~~~~~~
keen.h:290:30: note: (near initialization for 'option_menu[94]')
  290 | #define OPT_YORPFORCEFIELDS  11  // 1=must stun yorps to kill them
      |                              ^~
menu_options.c:36:61: note: in expansion of macro 'OPT_YORPFORCEFIELDS'
   36 |      "  Give Yorps Shields", MNU_DYNAMICTEXT, OptionSetter, OPT_YORPFORCEFIELDS,
      |                                                             ^~~~~~~~~~~~~~~~~~~
menu_options.c:37:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   37 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
menu_options.c:37:6: note: (near initialization for 'option_menu[95]')
menu_options.c:38:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   38 |      "Accept", MNU_CALLFP, opthandler_accept, 0,
      |      ^~~~~~~~
menu_options.c:38:6: note: (near initialization for 'option_menu[99]')
In file included from menu_options.c:5:
menu.h:61:22: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menu_options.c:38:16: note: in expansion of macro 'MNU_CALLFP'
   38 |      "Accept", MNU_CALLFP, opthandler_accept, 0,
      |                ^~~~~~~~~~
menu.h:61:22: note: (near initialization for 'option_menu[100]')
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menu_options.c:38:16: note: in expansion of macro 'MNU_CALLFP'
   38 |      "Accept", MNU_CALLFP, opthandler_accept, 0,
      |                ^~~~~~~~~~
menu_options.c:38:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char (*)(int)' [-Wincompatible-pointer-types]
   38 |      "Accept", MNU_CALLFP, opthandler_accept, 0,
      |                            ^~~~~~~~~~~~~~~~~
menu_options.c:38:28: note: (near initialization for 'option_menu[101]')
menu_options.c:39:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   39 |      "Cancel", MNU_CALLFP, opthandler_cancel, 0,
      |      ^~~~~~~~
menu_options.c:39:6: note: (near initialization for 'option_menu[103]')
In file included from menu_options.c:5:
menu.h:61:22: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menu_options.c:39:16: note: in expansion of macro 'MNU_CALLFP'
   39 |      "Cancel", MNU_CALLFP, opthandler_cancel, 0,
      |                ^~~~~~~~~~
menu.h:61:22: note: (near initialization for 'option_menu[104]')
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menu_options.c:39:16: note: in expansion of macro 'MNU_CALLFP'
   39 |      "Cancel", MNU_CALLFP, opthandler_cancel, 0,
      |                ^~~~~~~~~~
menu_options.c:39:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char (*)(int)' [-Wincompatible-pointer-types]
   39 |      "Cancel", MNU_CALLFP, opthandler_cancel, 0,
      |                            ^~~~~~~~~~~~~~~~~
menu_options.c:39:28: note: (near initialization for 'option_menu[105]')
menu_options.c: In function 'SetPColor':
menu_options.c:88:17: warning: array subscript has type 'char' [-Wchar-subscripts]
   88 |   switch(options[param])
      |                 ^
menu_options.c:101:10: warning: array subscript has type 'char' [-Wchar-subscripts]
  101 |   options[param]++;
      |          ^
menu_options.c:102:14: warning: array subscript has type 'char' [-Wchar-subscripts]
  102 |   if (options[param] >= PCOLOR_LAST) options[param] = 0;
      |              ^
menu_options.c:102:45: warning: array subscript has type 'char' [-Wchar-subscripts]
  102 |   if (options[param] >= PCOLOR_LAST) options[param] = 0;
      |                                             ^
In file included from menu.h:92,
                 from menu_options.c:5:
menu_options.c: At top level:
menumanager.fdh:36:13: warning: 'SelectCorrectMM' declared 'static' but never defined [-Wunused-function]
   36 | void static SelectCorrectMM(void);
      |             ^~~~~~~~~~~~~~~
menumanager.fdh:37:13: warning: 'DrawMenuText' declared 'static' but never defined [-Wunused-function]
   37 | void static DrawMenuText(void);
      |             ^~~~~~~~~~~~
menumanager.fdh:42:13: warning: 'DrawLogo' declared 'static' but never defined [-Wunused-function]
   42 | void static DrawLogo(void);
      |             ^~~~~~~~
menumanager.fdh:45:13: warning: 'move_down' declared 'static' but never defined [-Wunused-function]
   45 | void static move_down(void);
      |             ^~~~~~~~~
menumanager.fdh:46:13: warning: 'move_up' declared 'static' but never defined [-Wunused-function]
   46 | void static move_up(void);
      |             ^~~~~~~
menumanager.fdh:49:13: warning: 'goto_epmenu' declared 'static' but never defined [-Wunused-function]
   49 | char static goto_epmenu(int numplayers);
      |             ^~~~~~~~~~~
menumanager.fdh:50:13: warning: 'mmhandler_newgame' declared 'static' but never defined [-Wunused-function]
   50 | char static mmhandler_newgame(int episode);
      |             ^~~~~~~~~~~~~~~~~
menumanager.fdh:51:13: warning: 'mmhandler_endgame' declared 'static' but never defined [-Wunused-function]
   51 | char static mmhandler_endgame(int dummy);
      |             ^~~~~~~~~~~~~~~~~
menumanager.fdh:52:13: warning: 'mmhandler_restartlevel' declared 'static' but never defined [-Wunused-function]
   52 | char static mmhandler_restartlevel(int dummy);
      |             ^~~~~~~~~~~~~~~~~~~~~~
menumanager.fdh:53:13: warning: 'mmhandler_quit' declared 'static' but never defined [-Wunused-function]
   53 | char static mmhandler_quit(int dummy);
      |             ^~~~~~~~~~~~~~
menumanager.fdh:54:13: warning: 'mmhandler_quit2' declared 'static' but never defined [-Wunused-function]
   54 | char static mmhandler_quit2(int dummy);
      |             ^~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c menu_keysetup.c -o menu_keysetup.o
menu_keysetup.c:9:32: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
    9 | uchar *keysetup_menu1[MAXM] = {32,(9*8),  2, keysetup_init, NULL, NULL, NULL,
      |                                ^~
menu_keysetup.c:9:32: note: (near initialization for 'keysetup_menu1[0]')
menu_keysetup.c:9:35: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
    9 | uchar *keysetup_menu1[MAXM] = {32,(9*8),  2, keysetup_init, NULL, NULL, NULL,
      |                                   ^
menu_keysetup.c:9:35: note: (near initialization for 'keysetup_menu1[1]')
menu_keysetup.c:9:43: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
    9 | uchar *keysetup_menu1[MAXM] = {32,(9*8),  2, keysetup_init, NULL, NULL, NULL,
      |                                           ^
menu_keysetup.c:9:43: note: (near initialization for 'keysetup_menu1[2]')
menu_keysetup.c:9:46: warning: initialization of 'unsigned char *' from incompatible pointer type 'void (*)(void)' [-Wincompatible-pointer-types]
    9 | uchar *keysetup_menu1[MAXM] = {32,(9*8),  2, keysetup_init, NULL, NULL, NULL,
      |                                              ^~~~~~~~~~~~~
menu_keysetup.c:9:46: note: (near initialization for 'keysetup_menu1[3]')
menu_keysetup.c:10:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   10 |      "PLAYER 1 SETUP", MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~~~~~~~~
menu_keysetup.c:10:6: note: (near initialization for 'keysetup_menu1[7]')
menu_keysetup.c:11:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   11 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
menu_keysetup.c:11:6: note: (near initialization for 'keysetup_menu1[11]')
menu_keysetup.c:12:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   12 |      "LEFT         ", MNU_DYNAMICTEXT, KeySetup, KLEFT,
      |      ^~~~~~~~~~~~~~~
menu_keysetup.c:12:6: note: (near initialization for 'keysetup_menu1[15]')
In file included from menu_keysetup.c:4:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_keysetup.c:12:23: note: in expansion of macro 'MNU_DYNAMICTEXT'
   12 |      "LEFT         ", MNU_DYNAMICTEXT, KeySetup, KLEFT,
      |                       ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'keysetup_menu1[16]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_keysetup.c:12:23: note: in expansion of macro 'MNU_DYNAMICTEXT'
   12 |      "LEFT         ", MNU_DYNAMICTEXT, KeySetup, KLEFT,
      |                       ^~~~~~~~~~~~~~~
menu_keysetup.c:12:40: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   12 |      "LEFT         ", MNU_DYNAMICTEXT, KeySetup, KLEFT,
      |                                        ^~~~~~~~
menu_keysetup.c:12:40: note: (near initialization for 'keysetup_menu1[17]')
In file included from keen.h:61,
                 from menu_keysetup.c:2:
keys.h:7:23: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
    7 | #define KLEFT         2
      |                       ^
menu_keysetup.c:12:50: note: in expansion of macro 'KLEFT'
   12 |      "LEFT         ", MNU_DYNAMICTEXT, KeySetup, KLEFT,
      |                                                  ^~~~~
keys.h:7:23: note: (near initialization for 'keysetup_menu1[18]')
    7 | #define KLEFT         2
      |                       ^
menu_keysetup.c:12:50: note: in expansion of macro 'KLEFT'
   12 |      "LEFT         ", MNU_DYNAMICTEXT, KeySetup, KLEFT,
      |                                                  ^~~~~
menu_keysetup.c:13:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   13 |      "RIGHT        ", MNU_DYNAMICTEXT, KeySetup, KRIGHT,
      |      ^~~~~~~~~~~~~~~
menu_keysetup.c:13:6: note: (near initialization for 'keysetup_menu1[19]')
In file included from menu_keysetup.c:4:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_keysetup.c:13:23: note: in expansion of macro 'MNU_DYNAMICTEXT'
   13 |      "RIGHT        ", MNU_DYNAMICTEXT, KeySetup, KRIGHT,
      |                       ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'keysetup_menu1[20]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_keysetup.c:13:23: note: in expansion of macro 'MNU_DYNAMICTEXT'
   13 |      "RIGHT        ", MNU_DYNAMICTEXT, KeySetup, KRIGHT,
      |                       ^~~~~~~~~~~~~~~
menu_keysetup.c:13:40: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   13 |      "RIGHT        ", MNU_DYNAMICTEXT, KeySetup, KRIGHT,
      |                                        ^~~~~~~~
menu_keysetup.c:13:40: note: (near initialization for 'keysetup_menu1[21]')
In file included from keen.h:61,
                 from menu_keysetup.c:2:
keys.h:8:23: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
    8 | #define KRIGHT        3
      |                       ^
menu_keysetup.c:13:50: note: in expansion of macro 'KRIGHT'
   13 |      "RIGHT        ", MNU_DYNAMICTEXT, KeySetup, KRIGHT,
      |                                                  ^~~~~~
keys.h:8:23: note: (near initialization for 'keysetup_menu1[22]')
    8 | #define KRIGHT        3
      |                       ^
menu_keysetup.c:13:50: note: in expansion of macro 'KRIGHT'
   13 |      "RIGHT        ", MNU_DYNAMICTEXT, KeySetup, KRIGHT,
      |                                                  ^~~~~~
menu_keysetup.c:14:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   14 |      "UP           ", MNU_DYNAMICTEXT, KeySetup, KUP,
      |      ^~~~~~~~~~~~~~~
menu_keysetup.c:14:6: note: (near initialization for 'keysetup_menu1[23]')
In file included from menu_keysetup.c:4:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_keysetup.c:14:23: note: in expansion of macro 'MNU_DYNAMICTEXT'
   14 |      "UP           ", MNU_DYNAMICTEXT, KeySetup, KUP,
      |                       ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'keysetup_menu1[24]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_keysetup.c:14:23: note: in expansion of macro 'MNU_DYNAMICTEXT'
   14 |      "UP           ", MNU_DYNAMICTEXT, KeySetup, KUP,
      |                       ^~~~~~~~~~~~~~~
menu_keysetup.c:14:40: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   14 |      "UP           ", MNU_DYNAMICTEXT, KeySetup, KUP,
      |                                        ^~~~~~~~
menu_keysetup.c:14:40: note: (near initialization for 'keysetup_menu1[25]')
In file included from keen.h:61,
                 from menu_keysetup.c:2:
keys.h:9:23: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
    9 | #define KUP           4
      |                       ^
menu_keysetup.c:14:50: note: in expansion of macro 'KUP'
   14 |      "UP           ", MNU_DYNAMICTEXT, KeySetup, KUP,
      |                                                  ^~~
keys.h:9:23: note: (near initialization for 'keysetup_menu1[26]')
    9 | #define KUP           4
      |                       ^
menu_keysetup.c:14:50: note: in expansion of macro 'KUP'
   14 |      "UP           ", MNU_DYNAMICTEXT, KeySetup, KUP,
      |                                                  ^~~
menu_keysetup.c:15:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   15 |      "DOWN         ", MNU_DYNAMICTEXT, KeySetup, KDOWN,
      |      ^~~~~~~~~~~~~~~
menu_keysetup.c:15:6: note: (near initialization for 'keysetup_menu1[27]')
In file included from menu_keysetup.c:4:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_keysetup.c:15:23: note: in expansion of macro 'MNU_DYNAMICTEXT'
   15 |      "DOWN         ", MNU_DYNAMICTEXT, KeySetup, KDOWN,
      |                       ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'keysetup_menu1[28]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_keysetup.c:15:23: note: in expansion of macro 'MNU_DYNAMICTEXT'
   15 |      "DOWN         ", MNU_DYNAMICTEXT, KeySetup, KDOWN,
      |                       ^~~~~~~~~~~~~~~
menu_keysetup.c:15:40: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   15 |      "DOWN         ", MNU_DYNAMICTEXT, KeySetup, KDOWN,
      |                                        ^~~~~~~~
menu_keysetup.c:15:40: note: (near initialization for 'keysetup_menu1[29]')
In file included from keen.h:61,
                 from menu_keysetup.c:2:
keys.h:10:23: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   10 | #define KDOWN         5
      |                       ^
menu_keysetup.c:15:50: note: in expansion of macro 'KDOWN'
   15 |      "DOWN         ", MNU_DYNAMICTEXT, KeySetup, KDOWN,
      |                                                  ^~~~~
keys.h:10:23: note: (near initialization for 'keysetup_menu1[30]')
   10 | #define KDOWN         5
      |                       ^
menu_keysetup.c:15:50: note: in expansion of macro 'KDOWN'
   15 |      "DOWN         ", MNU_DYNAMICTEXT, KeySetup, KDOWN,
      |                                                  ^~~~~
menu_keysetup.c:16:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   16 |      "JUMP         ", MNU_DYNAMICTEXT, KeySetup, KCTRL,
      |      ^~~~~~~~~~~~~~~
menu_keysetup.c:16:6: note: (near initialization for 'keysetup_menu1[31]')
In file included from menu_keysetup.c:4:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_keysetup.c:16:23: note: in expansion of macro 'MNU_DYNAMICTEXT'
   16 |      "JUMP         ", MNU_DYNAMICTEXT, KeySetup, KCTRL,
      |                       ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'keysetup_menu1[32]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_keysetup.c:16:23: note: in expansion of macro 'MNU_DYNAMICTEXT'
   16 |      "JUMP         ", MNU_DYNAMICTEXT, KeySetup, KCTRL,
      |                       ^~~~~~~~~~~~~~~
menu_keysetup.c:16:40: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   16 |      "JUMP         ", MNU_DYNAMICTEXT, KeySetup, KCTRL,
      |                                        ^~~~~~~~
menu_keysetup.c:16:40: note: (near initialization for 'keysetup_menu1[33]')
In file included from keen.h:61,
                 from menu_keysetup.c:2:
keys.h:11:23: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   11 | #define KCTRL         6
      |                       ^
menu_keysetup.c:16:50: note: in expansion of macro 'KCTRL'
   16 |      "JUMP         ", MNU_DYNAMICTEXT, KeySetup, KCTRL,
      |                                                  ^~~~~
keys.h:11:23: note: (near initialization for 'keysetup_menu1[34]')
   11 | #define KCTRL         6
      |                       ^
menu_keysetup.c:16:50: note: in expansion of macro 'KCTRL'
   16 |      "JUMP         ", MNU_DYNAMICTEXT, KeySetup, KCTRL,
      |                                                  ^~~~~
menu_keysetup.c:17:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   17 |      "POGO         ", MNU_DYNAMICTEXT, KeySetup, KALT,
      |      ^~~~~~~~~~~~~~~
menu_keysetup.c:17:6: note: (near initialization for 'keysetup_menu1[35]')
In file included from menu_keysetup.c:4:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_keysetup.c:17:23: note: in expansion of macro 'MNU_DYNAMICTEXT'
   17 |      "POGO         ", MNU_DYNAMICTEXT, KeySetup, KALT,
      |                       ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'keysetup_menu1[36]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_keysetup.c:17:23: note: in expansion of macro 'MNU_DYNAMICTEXT'
   17 |      "POGO         ", MNU_DYNAMICTEXT, KeySetup, KALT,
      |                       ^~~~~~~~~~~~~~~
menu_keysetup.c:17:40: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   17 |      "POGO         ", MNU_DYNAMICTEXT, KeySetup, KALT,
      |                                        ^~~~~~~~
menu_keysetup.c:17:40: note: (near initialization for 'keysetup_menu1[37]')
In file included from keen.h:61,
                 from menu_keysetup.c:2:
keys.h:12:23: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   12 | #define KALT          7
      |                       ^
menu_keysetup.c:17:50: note: in expansion of macro 'KALT'
   17 |      "POGO         ", MNU_DYNAMICTEXT, KeySetup, KALT,
      |                                                  ^~~~
keys.h:12:23: note: (near initialization for 'keysetup_menu1[38]')
   12 | #define KALT          7
      |                       ^
menu_keysetup.c:17:50: note: in expansion of macro 'KALT'
   17 |      "POGO         ", MNU_DYNAMICTEXT, KeySetup, KALT,
      |                                                  ^~~~
menu_keysetup.c:18:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   18 |      "FIRE/STATUS  ", MNU_DYNAMICTEXT, KeySetup, KSPACE,
      |      ^~~~~~~~~~~~~~~
menu_keysetup.c:18:6: note: (near initialization for 'keysetup_menu1[39]')
In file included from menu_keysetup.c:4:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_keysetup.c:18:23: note: in expansion of macro 'MNU_DYNAMICTEXT'
   18 |      "FIRE/STATUS  ", MNU_DYNAMICTEXT, KeySetup, KSPACE,
      |                       ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'keysetup_menu1[40]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_keysetup.c:18:23: note: in expansion of macro 'MNU_DYNAMICTEXT'
   18 |      "FIRE/STATUS  ", MNU_DYNAMICTEXT, KeySetup, KSPACE,
      |                       ^~~~~~~~~~~~~~~
menu_keysetup.c:18:40: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   18 |      "FIRE/STATUS  ", MNU_DYNAMICTEXT, KeySetup, KSPACE,
      |                                        ^~~~~~~~
menu_keysetup.c:18:40: note: (near initialization for 'keysetup_menu1[41]')
In file included from keen.h:61,
                 from menu_keysetup.c:2:
keys.h:14:23: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   14 | #define KSPACE        9
      |                       ^
menu_keysetup.c:18:50: note: in expansion of macro 'KSPACE'
   18 |      "FIRE/STATUS  ", MNU_DYNAMICTEXT, KeySetup, KSPACE,
      |                                                  ^~~~~~
keys.h:14:23: note: (near initialization for 'keysetup_menu1[42]')
   14 | #define KSPACE        9
      |                       ^
menu_keysetup.c:18:50: note: in expansion of macro 'KSPACE'
   18 |      "FIRE/STATUS  ", MNU_DYNAMICTEXT, KeySetup, KSPACE,
      |                                                  ^~~~~~
menu_keysetup.c:19:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   19 |      "STATUS       ", MNU_DYNAMICTEXT, KeySetup, KENTER,
      |      ^~~~~~~~~~~~~~~
menu_keysetup.c:19:6: note: (near initialization for 'keysetup_menu1[43]')
In file included from menu_keysetup.c:4:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_keysetup.c:19:23: note: in expansion of macro 'MNU_DYNAMICTEXT'
   19 |      "STATUS       ", MNU_DYNAMICTEXT, KeySetup, KENTER,
      |                       ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'keysetup_menu1[44]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_keysetup.c:19:23: note: in expansion of macro 'MNU_DYNAMICTEXT'
   19 |      "STATUS       ", MNU_DYNAMICTEXT, KeySetup, KENTER,
      |                       ^~~~~~~~~~~~~~~
menu_keysetup.c:19:40: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   19 |      "STATUS       ", MNU_DYNAMICTEXT, KeySetup, KENTER,
      |                                        ^~~~~~~~
menu_keysetup.c:19:40: note: (near initialization for 'keysetup_menu1[45]')
In file included from keen.h:61,
                 from menu_keysetup.c:2:
keys.h:13:23: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   13 | #define KENTER        8
      |                       ^
menu_keysetup.c:19:50: note: in expansion of macro 'KENTER'
   19 |      "STATUS       ", MNU_DYNAMICTEXT, KeySetup, KENTER,
      |                                                  ^~~~~~
keys.h:13:23: note: (near initialization for 'keysetup_menu1[46]')
   13 | #define KENTER        8
      |                       ^
menu_keysetup.c:19:50: note: in expansion of macro 'KENTER'
   19 |      "STATUS       ", MNU_DYNAMICTEXT, KeySetup, KENTER,
      |                                                  ^~~~~~
menu_keysetup.c:20:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   20 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
menu_keysetup.c:20:6: note: (near initialization for 'keysetup_menu1[47]')
menu_keysetup.c:21:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   21 |      "Save", MNU_CALLFP, SaveKeys, 0,
      |      ^~~~~~
menu_keysetup.c:21:6: note: (near initialization for 'keysetup_menu1[51]')
In file included from menu_keysetup.c:4:
menu.h:61:22: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menu_keysetup.c:21:14: note: in expansion of macro 'MNU_CALLFP'
   21 |      "Save", MNU_CALLFP, SaveKeys, 0,
      |              ^~~~~~~~~~
menu.h:61:22: note: (near initialization for 'keysetup_menu1[52]')
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menu_keysetup.c:21:14: note: in expansion of macro 'MNU_CALLFP'
   21 |      "Save", MNU_CALLFP, SaveKeys, 0,
      |              ^~~~~~~~~~
menu_keysetup.c:21:26: warning: initialization of 'unsigned char *' from incompatible pointer type 'char (*)(void)' [-Wincompatible-pointer-types]
   21 |      "Save", MNU_CALLFP, SaveKeys, 0,
      |                          ^~~~~~~~
menu_keysetup.c:21:26: note: (near initialization for 'keysetup_menu1[53]')
menu_keysetup.c:22:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   22 |      "Cancel", MNU_CALLFP, CancelKeys, 0,
      |      ^~~~~~~~
menu_keysetup.c:22:6: note: (near initialization for 'keysetup_menu1[55]')
In file included from menu_keysetup.c:4:
menu.h:61:22: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menu_keysetup.c:22:16: note: in expansion of macro 'MNU_CALLFP'
   22 |      "Cancel", MNU_CALLFP, CancelKeys, 0,
      |                ^~~~~~~~~~
menu.h:61:22: note: (near initialization for 'keysetup_menu1[56]')
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menu_keysetup.c:22:16: note: in expansion of macro 'MNU_CALLFP'
   22 |      "Cancel", MNU_CALLFP, CancelKeys, 0,
      |                ^~~~~~~~~~
menu_keysetup.c:22:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char (*)(void)' [-Wincompatible-pointer-types]
   22 |      "Cancel", MNU_CALLFP, CancelKeys, 0,
      |                            ^~~~~~~~~~
menu_keysetup.c:22:28: note: (near initialization for 'keysetup_menu1[57]')
menu_keysetup.c:23:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   23 |      "Defaults", MNU_CALLFP, SetDefaults, 0,
      |      ^~~~~~~~~~
menu_keysetup.c:23:6: note: (near initialization for 'keysetup_menu1[59]')
In file included from menu_keysetup.c:4:
menu.h:61:22: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menu_keysetup.c:23:18: note: in expansion of macro 'MNU_CALLFP'
   23 |      "Defaults", MNU_CALLFP, SetDefaults, 0,
      |                  ^~~~~~~~~~
menu.h:61:22: note: (near initialization for 'keysetup_menu1[60]')
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menu_keysetup.c:23:18: note: in expansion of macro 'MNU_CALLFP'
   23 |      "Defaults", MNU_CALLFP, SetDefaults, 0,
      |                  ^~~~~~~~~~
menu_keysetup.c:23:30: warning: initialization of 'unsigned char *' from incompatible pointer type 'char (*)(void)' [-Wincompatible-pointer-types]
   23 |      "Defaults", MNU_CALLFP, SetDefaults, 0,
      |                              ^~~~~~~~~~~
menu_keysetup.c:23:30: note: (near initialization for 'keysetup_menu1[61]')
menu_keysetup.c:25:32: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   25 | uchar *keysetup_menu2[MAXM] = {32,(9*8),  2, keysetup_init, NULL, NULL, NULL,
      |                                ^~
menu_keysetup.c:25:32: note: (near initialization for 'keysetup_menu2[0]')
menu_keysetup.c:25:35: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   25 | uchar *keysetup_menu2[MAXM] = {32,(9*8),  2, keysetup_init, NULL, NULL, NULL,
      |                                   ^
menu_keysetup.c:25:35: note: (near initialization for 'keysetup_menu2[1]')
menu_keysetup.c:25:43: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   25 | uchar *keysetup_menu2[MAXM] = {32,(9*8),  2, keysetup_init, NULL, NULL, NULL,
      |                                           ^
menu_keysetup.c:25:43: note: (near initialization for 'keysetup_menu2[2]')
menu_keysetup.c:25:46: warning: initialization of 'unsigned char *' from incompatible pointer type 'void (*)(void)' [-Wincompatible-pointer-types]
   25 | uchar *keysetup_menu2[MAXM] = {32,(9*8),  2, keysetup_init, NULL, NULL, NULL,
      |                                              ^~~~~~~~~~~~~
menu_keysetup.c:25:46: note: (near initialization for 'keysetup_menu2[3]')
menu_keysetup.c:26:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   26 |      "PLAYER 2 SETUP", MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~~~~~~~~
menu_keysetup.c:26:6: note: (near initialization for 'keysetup_menu2[7]')
menu_keysetup.c:27:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   27 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
menu_keysetup.c:27:6: note: (near initialization for 'keysetup_menu2[11]')
menu_keysetup.c:28:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   28 |      "LEFT         ", MNU_DYNAMICTEXT, KeySetup, KLEFT2,
      |      ^~~~~~~~~~~~~~~
menu_keysetup.c:28:6: note: (near initialization for 'keysetup_menu2[15]')
In file included from menu_keysetup.c:4:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_keysetup.c:28:23: note: in expansion of macro 'MNU_DYNAMICTEXT'
   28 |      "LEFT         ", MNU_DYNAMICTEXT, KeySetup, KLEFT2,
      |                       ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'keysetup_menu2[16]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_keysetup.c:28:23: note: in expansion of macro 'MNU_DYNAMICTEXT'
   28 |      "LEFT         ", MNU_DYNAMICTEXT, KeySetup, KLEFT2,
      |                       ^~~~~~~~~~~~~~~
menu_keysetup.c:28:40: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   28 |      "LEFT         ", MNU_DYNAMICTEXT, KeySetup, KLEFT2,
      |                                        ^~~~~~~~
menu_keysetup.c:28:40: note: (near initialization for 'keysetup_menu2[17]')
In file included from keen.h:61,
                 from menu_keysetup.c:2:
keys.h:27:23: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   27 | #define KLEFT2        20
      |                       ^~
menu_keysetup.c:28:50: note: in expansion of macro 'KLEFT2'
   28 |      "LEFT         ", MNU_DYNAMICTEXT, KeySetup, KLEFT2,
      |                                                  ^~~~~~
keys.h:27:23: note: (near initialization for 'keysetup_menu2[18]')
   27 | #define KLEFT2        20
      |                       ^~
menu_keysetup.c:28:50: note: in expansion of macro 'KLEFT2'
   28 |      "LEFT         ", MNU_DYNAMICTEXT, KeySetup, KLEFT2,
      |                                                  ^~~~~~
menu_keysetup.c:29:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   29 |      "RIGHT        ", MNU_DYNAMICTEXT, KeySetup, KRIGHT2,
      |      ^~~~~~~~~~~~~~~
menu_keysetup.c:29:6: note: (near initialization for 'keysetup_menu2[19]')
In file included from menu_keysetup.c:4:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_keysetup.c:29:23: note: in expansion of macro 'MNU_DYNAMICTEXT'
   29 |      "RIGHT        ", MNU_DYNAMICTEXT, KeySetup, KRIGHT2,
      |                       ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'keysetup_menu2[20]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_keysetup.c:29:23: note: in expansion of macro 'MNU_DYNAMICTEXT'
   29 |      "RIGHT        ", MNU_DYNAMICTEXT, KeySetup, KRIGHT2,
      |                       ^~~~~~~~~~~~~~~
menu_keysetup.c:29:40: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   29 |      "RIGHT        ", MNU_DYNAMICTEXT, KeySetup, KRIGHT2,
      |                                        ^~~~~~~~
menu_keysetup.c:29:40: note: (near initialization for 'keysetup_menu2[21]')
In file included from keen.h:61,
                 from menu_keysetup.c:2:
keys.h:28:23: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   28 | #define KRIGHT2       21
      |                       ^~
menu_keysetup.c:29:50: note: in expansion of macro 'KRIGHT2'
   29 |      "RIGHT        ", MNU_DYNAMICTEXT, KeySetup, KRIGHT2,
      |                                                  ^~~~~~~
keys.h:28:23: note: (near initialization for 'keysetup_menu2[22]')
   28 | #define KRIGHT2       21
      |                       ^~
menu_keysetup.c:29:50: note: in expansion of macro 'KRIGHT2'
   29 |      "RIGHT        ", MNU_DYNAMICTEXT, KeySetup, KRIGHT2,
      |                                                  ^~~~~~~
menu_keysetup.c:30:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   30 |      "UP           ", MNU_DYNAMICTEXT, KeySetup, KUP2,
      |      ^~~~~~~~~~~~~~~
menu_keysetup.c:30:6: note: (near initialization for 'keysetup_menu2[23]')
In file included from menu_keysetup.c:4:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_keysetup.c:30:23: note: in expansion of macro 'MNU_DYNAMICTEXT'
   30 |      "UP           ", MNU_DYNAMICTEXT, KeySetup, KUP2,
      |                       ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'keysetup_menu2[24]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_keysetup.c:30:23: note: in expansion of macro 'MNU_DYNAMICTEXT'
   30 |      "UP           ", MNU_DYNAMICTEXT, KeySetup, KUP2,
      |                       ^~~~~~~~~~~~~~~
menu_keysetup.c:30:40: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   30 |      "UP           ", MNU_DYNAMICTEXT, KeySetup, KUP2,
      |                                        ^~~~~~~~
menu_keysetup.c:30:40: note: (near initialization for 'keysetup_menu2[25]')
In file included from keen.h:61,
                 from menu_keysetup.c:2:
keys.h:29:23: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   29 | #define KUP2          22
      |                       ^~
menu_keysetup.c:30:50: note: in expansion of macro 'KUP2'
   30 |      "UP           ", MNU_DYNAMICTEXT, KeySetup, KUP2,
      |                                                  ^~~~
keys.h:29:23: note: (near initialization for 'keysetup_menu2[26]')
   29 | #define KUP2          22
      |                       ^~
menu_keysetup.c:30:50: note: in expansion of macro 'KUP2'
   30 |      "UP           ", MNU_DYNAMICTEXT, KeySetup, KUP2,
      |                                                  ^~~~
menu_keysetup.c:31:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   31 |      "DOWN         ", MNU_DYNAMICTEXT, KeySetup, KDOWN2,
      |      ^~~~~~~~~~~~~~~
menu_keysetup.c:31:6: note: (near initialization for 'keysetup_menu2[27]')
In file included from menu_keysetup.c:4:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_keysetup.c:31:23: note: in expansion of macro 'MNU_DYNAMICTEXT'
   31 |      "DOWN         ", MNU_DYNAMICTEXT, KeySetup, KDOWN2,
      |                       ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'keysetup_menu2[28]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_keysetup.c:31:23: note: in expansion of macro 'MNU_DYNAMICTEXT'
   31 |      "DOWN         ", MNU_DYNAMICTEXT, KeySetup, KDOWN2,
      |                       ^~~~~~~~~~~~~~~
menu_keysetup.c:31:40: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   31 |      "DOWN         ", MNU_DYNAMICTEXT, KeySetup, KDOWN2,
      |                                        ^~~~~~~~
menu_keysetup.c:31:40: note: (near initialization for 'keysetup_menu2[29]')
In file included from keen.h:61,
                 from menu_keysetup.c:2:
keys.h:30:23: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   30 | #define KDOWN2        23
      |                       ^~
menu_keysetup.c:31:50: note: in expansion of macro 'KDOWN2'
   31 |      "DOWN         ", MNU_DYNAMICTEXT, KeySetup, KDOWN2,
      |                                                  ^~~~~~
keys.h:30:23: note: (near initialization for 'keysetup_menu2[30]')
   30 | #define KDOWN2        23
      |                       ^~
menu_keysetup.c:31:50: note: in expansion of macro 'KDOWN2'
   31 |      "DOWN         ", MNU_DYNAMICTEXT, KeySetup, KDOWN2,
      |                                                  ^~~~~~
menu_keysetup.c:32:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   32 |      "JUMP         ", MNU_DYNAMICTEXT, KeySetup, KCTRL2,
      |      ^~~~~~~~~~~~~~~
menu_keysetup.c:32:6: note: (near initialization for 'keysetup_menu2[31]')
In file included from menu_keysetup.c:4:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_keysetup.c:32:23: note: in expansion of macro 'MNU_DYNAMICTEXT'
   32 |      "JUMP         ", MNU_DYNAMICTEXT, KeySetup, KCTRL2,
      |                       ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'keysetup_menu2[32]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_keysetup.c:32:23: note: in expansion of macro 'MNU_DYNAMICTEXT'
   32 |      "JUMP         ", MNU_DYNAMICTEXT, KeySetup, KCTRL2,
      |                       ^~~~~~~~~~~~~~~
menu_keysetup.c:32:40: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   32 |      "JUMP         ", MNU_DYNAMICTEXT, KeySetup, KCTRL2,
      |                                        ^~~~~~~~
menu_keysetup.c:32:40: note: (near initialization for 'keysetup_menu2[33]')
In file included from keen.h:61,
                 from menu_keysetup.c:2:
keys.h:31:23: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   31 | #define KCTRL2        24
      |                       ^~
menu_keysetup.c:32:50: note: in expansion of macro 'KCTRL2'
   32 |      "JUMP         ", MNU_DYNAMICTEXT, KeySetup, KCTRL2,
      |                                                  ^~~~~~
keys.h:31:23: note: (near initialization for 'keysetup_menu2[34]')
   31 | #define KCTRL2        24
      |                       ^~
menu_keysetup.c:32:50: note: in expansion of macro 'KCTRL2'
   32 |      "JUMP         ", MNU_DYNAMICTEXT, KeySetup, KCTRL2,
      |                                                  ^~~~~~
menu_keysetup.c:33:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   33 |      "POGO         ", MNU_DYNAMICTEXT, KeySetup, KALT2,
      |      ^~~~~~~~~~~~~~~
menu_keysetup.c:33:6: note: (near initialization for 'keysetup_menu2[35]')
In file included from menu_keysetup.c:4:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_keysetup.c:33:23: note: in expansion of macro 'MNU_DYNAMICTEXT'
   33 |      "POGO         ", MNU_DYNAMICTEXT, KeySetup, KALT2,
      |                       ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'keysetup_menu2[36]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_keysetup.c:33:23: note: in expansion of macro 'MNU_DYNAMICTEXT'
   33 |      "POGO         ", MNU_DYNAMICTEXT, KeySetup, KALT2,
      |                       ^~~~~~~~~~~~~~~
menu_keysetup.c:33:40: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   33 |      "POGO         ", MNU_DYNAMICTEXT, KeySetup, KALT2,
      |                                        ^~~~~~~~
menu_keysetup.c:33:40: note: (near initialization for 'keysetup_menu2[37]')
In file included from keen.h:61,
                 from menu_keysetup.c:2:
keys.h:32:23: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   32 | #define KALT2         25
      |                       ^~
menu_keysetup.c:33:50: note: in expansion of macro 'KALT2'
   33 |      "POGO         ", MNU_DYNAMICTEXT, KeySetup, KALT2,
      |                                                  ^~~~~
keys.h:32:23: note: (near initialization for 'keysetup_menu2[38]')
   32 | #define KALT2         25
      |                       ^~
menu_keysetup.c:33:50: note: in expansion of macro 'KALT2'
   33 |      "POGO         ", MNU_DYNAMICTEXT, KeySetup, KALT2,
      |                                                  ^~~~~
menu_keysetup.c:34:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   34 |      "FIRE/STATUS  ", MNU_DYNAMICTEXT, KeySetup, KSPACE2,
      |      ^~~~~~~~~~~~~~~
menu_keysetup.c:34:6: note: (near initialization for 'keysetup_menu2[39]')
In file included from menu_keysetup.c:4:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_keysetup.c:34:23: note: in expansion of macro 'MNU_DYNAMICTEXT'
   34 |      "FIRE/STATUS  ", MNU_DYNAMICTEXT, KeySetup, KSPACE2,
      |                       ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'keysetup_menu2[40]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_keysetup.c:34:23: note: in expansion of macro 'MNU_DYNAMICTEXT'
   34 |      "FIRE/STATUS  ", MNU_DYNAMICTEXT, KeySetup, KSPACE2,
      |                       ^~~~~~~~~~~~~~~
menu_keysetup.c:34:40: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   34 |      "FIRE/STATUS  ", MNU_DYNAMICTEXT, KeySetup, KSPACE2,
      |                                        ^~~~~~~~
menu_keysetup.c:34:40: note: (near initialization for 'keysetup_menu2[41]')
In file included from keen.h:61,
                 from menu_keysetup.c:2:
keys.h:34:20: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   34 | #define KSPACE2    27
      |                    ^~
menu_keysetup.c:34:50: note: in expansion of macro 'KSPACE2'
   34 |      "FIRE/STATUS  ", MNU_DYNAMICTEXT, KeySetup, KSPACE2,
      |                                                  ^~~~~~~
keys.h:34:20: note: (near initialization for 'keysetup_menu2[42]')
   34 | #define KSPACE2    27
      |                    ^~
menu_keysetup.c:34:50: note: in expansion of macro 'KSPACE2'
   34 |      "FIRE/STATUS  ", MNU_DYNAMICTEXT, KeySetup, KSPACE2,
      |                                                  ^~~~~~~
menu_keysetup.c:35:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   35 |      "STATUS       ", MNU_DYNAMICTEXT, KeySetup, KENTER2,
      |      ^~~~~~~~~~~~~~~
menu_keysetup.c:35:6: note: (near initialization for 'keysetup_menu2[43]')
In file included from menu_keysetup.c:4:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_keysetup.c:35:23: note: in expansion of macro 'MNU_DYNAMICTEXT'
   35 |      "STATUS       ", MNU_DYNAMICTEXT, KeySetup, KENTER2,
      |                       ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'keysetup_menu2[44]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_keysetup.c:35:23: note: in expansion of macro 'MNU_DYNAMICTEXT'
   35 |      "STATUS       ", MNU_DYNAMICTEXT, KeySetup, KENTER2,
      |                       ^~~~~~~~~~~~~~~
menu_keysetup.c:35:40: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   35 |      "STATUS       ", MNU_DYNAMICTEXT, KeySetup, KENTER2,
      |                                        ^~~~~~~~
menu_keysetup.c:35:40: note: (near initialization for 'keysetup_menu2[45]')
In file included from keen.h:61,
                 from menu_keysetup.c:2:
keys.h:33:20: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   33 | #define KENTER2    26
      |                    ^~
menu_keysetup.c:35:50: note: in expansion of macro 'KENTER2'
   35 |      "STATUS       ", MNU_DYNAMICTEXT, KeySetup, KENTER2,
      |                                                  ^~~~~~~
keys.h:33:20: note: (near initialization for 'keysetup_menu2[46]')
   33 | #define KENTER2    26
      |                    ^~
menu_keysetup.c:35:50: note: in expansion of macro 'KENTER2'
   35 |      "STATUS       ", MNU_DYNAMICTEXT, KeySetup, KENTER2,
      |                                                  ^~~~~~~
menu_keysetup.c:36:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   36 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
menu_keysetup.c:36:6: note: (near initialization for 'keysetup_menu2[47]')
menu_keysetup.c:37:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   37 |      "Save", MNU_CALLFP, SaveKeys, 0,
      |      ^~~~~~
menu_keysetup.c:37:6: note: (near initialization for 'keysetup_menu2[51]')
In file included from menu_keysetup.c:4:
menu.h:61:22: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menu_keysetup.c:37:14: note: in expansion of macro 'MNU_CALLFP'
   37 |      "Save", MNU_CALLFP, SaveKeys, 0,
      |              ^~~~~~~~~~
menu.h:61:22: note: (near initialization for 'keysetup_menu2[52]')
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menu_keysetup.c:37:14: note: in expansion of macro 'MNU_CALLFP'
   37 |      "Save", MNU_CALLFP, SaveKeys, 0,
      |              ^~~~~~~~~~
menu_keysetup.c:37:26: warning: initialization of 'unsigned char *' from incompatible pointer type 'char (*)(void)' [-Wincompatible-pointer-types]
   37 |      "Save", MNU_CALLFP, SaveKeys, 0,
      |                          ^~~~~~~~
menu_keysetup.c:37:26: note: (near initialization for 'keysetup_menu2[53]')
menu_keysetup.c:38:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   38 |      "Cancel", MNU_CALLFP, CancelKeys, 0,
      |      ^~~~~~~~
menu_keysetup.c:38:6: note: (near initialization for 'keysetup_menu2[55]')
In file included from menu_keysetup.c:4:
menu.h:61:22: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menu_keysetup.c:38:16: note: in expansion of macro 'MNU_CALLFP'
   38 |      "Cancel", MNU_CALLFP, CancelKeys, 0,
      |                ^~~~~~~~~~
menu.h:61:22: note: (near initialization for 'keysetup_menu2[56]')
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menu_keysetup.c:38:16: note: in expansion of macro 'MNU_CALLFP'
   38 |      "Cancel", MNU_CALLFP, CancelKeys, 0,
      |                ^~~~~~~~~~
menu_keysetup.c:38:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char (*)(void)' [-Wincompatible-pointer-types]
   38 |      "Cancel", MNU_CALLFP, CancelKeys, 0,
      |                            ^~~~~~~~~~
menu_keysetup.c:38:28: note: (near initialization for 'keysetup_menu2[57]')
menu_keysetup.c:39:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   39 |      "Defaults", MNU_CALLFP, SetDefaults, 0,
      |      ^~~~~~~~~~
menu_keysetup.c:39:6: note: (near initialization for 'keysetup_menu2[59]')
In file included from menu_keysetup.c:4:
menu.h:61:22: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menu_keysetup.c:39:18: note: in expansion of macro 'MNU_CALLFP'
   39 |      "Defaults", MNU_CALLFP, SetDefaults, 0,
      |                  ^~~~~~~~~~
menu.h:61:22: note: (near initialization for 'keysetup_menu2[60]')
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menu_keysetup.c:39:18: note: in expansion of macro 'MNU_CALLFP'
   39 |      "Defaults", MNU_CALLFP, SetDefaults, 0,
      |                  ^~~~~~~~~~
menu_keysetup.c:39:30: warning: initialization of 'unsigned char *' from incompatible pointer type 'char (*)(void)' [-Wincompatible-pointer-types]
   39 |      "Defaults", MNU_CALLFP, SetDefaults, 0,
      |                              ^~~~~~~~~~~
menu_keysetup.c:39:30: note: (near initialization for 'keysetup_menu2[61]')
menu_keysetup.c: In function 'KeySetup':
menu_keysetup.c:54:10: warning: pointer targets in passing argument 1 of 'strcpy' differ in signedness [-Wpointer-sign]
   54 |   strcpy(tempbuf, MenuText);
      |          ^~~~~~~
      |          |
      |          unsigned char *
In file included from /usr/include/features.h:450,
                 from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdio.h:27,
                 from keen.h:2,
                 from menu_keysetup.c:2:
/usr/include/bits/string_fortified.h:88:1: note: expected 'char * restrict' but argument is of type 'unsigned char *'
   88 | __NTH (strcpy (char *__restrict __dest, const char *__restrict __src))
      | ^~~~~
menu_keysetup.c:55:10: warning: pointer targets in passing argument 1 of 'strcat' differ in signedness [-Wpointer-sign]
   55 |   strcat(tempbuf, KeyDrv_GetKeyMapping(key, 0));
      |          ^~~~~~~
      |          |
      |          unsigned char *
In file included from /usr/include/features.h:450,
                 from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdio.h:27,
                 from keen.h:2,
                 from menu_keysetup.c:2:
/usr/include/bits/string_fortified.h:126:1: note: expected 'char * restrict' but argument is of type 'unsigned char *'
  126 | __NTH (strcat (char *__restrict __dest, const char *__restrict __src))
      | ^~~~~
menu_keysetup.c:55:19: warning: pointer targets in passing argument 2 of 'strcat' differ in signedness [-Wpointer-sign]
   55 |   strcat(tempbuf, KeyDrv_GetKeyMapping(key, 0));
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                   |
      |                   unsigned char *
In file included from /usr/include/features.h:450,
                 from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdio.h:27,
                 from keen.h:2,
                 from menu_keysetup.c:2:
/usr/include/bits/string_fortified.h:126:1: note: expected 'const char * restrict' but argument is of type 'unsigned char *'
  126 | __NTH (strcat (char *__restrict __dest, const char *__restrict __src))
      | ^~~~~
menu_keysetup.c:56:6: warning: pointer targets in assignment from 'unsigned char *' to 'char *' differ in signedness [-Wpointer-sign]
   56 |   k2 = KeyDrv_GetKeyMapping(key, 1);
      |      ^
menu_keysetup.c:59:17: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness [-Wpointer-sign]
   59 |    while(strlen(tempbuf)<20) strcat(tempbuf, " ");
      |                 ^~~~~~~
      |                 |
      |                 unsigned char *
In file included from keen.h:3,
                 from menu_keysetup.c:2:
/usr/include/string.h:385:35: note: expected 'const char *' but argument is of type 'unsigned char *'
  385 | extern size_t strlen (const char *__s)
      |                       ~~~~~~~~~~~~^~~
menu_keysetup.c:59:37: warning: pointer targets in passing argument 1 of 'strcat' differ in signedness [-Wpointer-sign]
   59 |    while(strlen(tempbuf)<20) strcat(tempbuf, " ");
      |                                     ^~~~~~~
      |                                     |
      |                                     unsigned char *
In file included from /usr/include/features.h:450,
                 from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdio.h:27,
                 from keen.h:2,
                 from menu_keysetup.c:2:
/usr/include/bits/string_fortified.h:126:1: note: expected 'char * restrict' but argument is of type 'unsigned char *'
  126 | __NTH (strcat (char *__restrict __dest, const char *__restrict __src))
      | ^~~~~
menu_keysetup.c:60:11: warning: pointer targets in passing argument 1 of 'strcat' differ in signedness [-Wpointer-sign]
   60 |    strcat(tempbuf, " / ");
      |           ^~~~~~~
      |           |
      |           unsigned char *
In file included from /usr/include/features.h:450,
                 from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdio.h:27,
                 from keen.h:2,
                 from menu_keysetup.c:2:
/usr/include/bits/string_fortified.h:126:1: note: expected 'char * restrict' but argument is of type 'unsigned char *'
  126 | __NTH (strcat (char *__restrict __dest, const char *__restrict __src))
      | ^~~~~
menu_keysetup.c:61:11: warning: pointer targets in passing argument 1 of 'strcat' differ in signedness [-Wpointer-sign]
   61 |    strcat(tempbuf, k2);
      |           ^~~~~~~
      |           |
      |           unsigned char *
In file included from /usr/include/features.h:450,
                 from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdio.h:27,
                 from keen.h:2,
                 from menu_keysetup.c:2:
/usr/include/bits/string_fortified.h:126:1: note: expected 'char * restrict' but argument is of type 'unsigned char *'
  126 | __NTH (strcat (char *__restrict __dest, const char *__restrict __src))
      | ^~~~~
menu_keysetup.c:64:10: warning: pointer targets in returning 'unsigned char *' from a function with return type 'char *' differ in signedness [-Wpointer-sign]
   64 |   return tempbuf;
      |          ^~~~~~~
menu_keysetup.c: In function 'CancelKeys':
menu_keysetup.c:88:16: warning: passing argument 1 of 'Menu_InitMenu' from incompatible pointer type [-Wincompatible-pointer-types]
   88 |  Menu_InitMenu(&main_menu);
      |                ^~~~~~~~~~
      |                |
      |                unsigned char * (*)[150]
In file included from menu_keysetup.c:3:
menu_keysetup.fdh:7:27: note: expected 'unsigned char *' but argument is of type 'unsigned char * (*)[150]'
    7 | void Menu_InitMenu(uchar *whichmenu);
In file included from menu.h:92,
                 from menu_keysetup.c:4:
menu_keysetup.c: At top level:
menumanager.fdh:36:13: warning: 'SelectCorrectMM' declared 'static' but never defined [-Wunused-function]
   36 | void static SelectCorrectMM(void);
      |             ^~~~~~~~~~~~~~~
menumanager.fdh:37:13: warning: 'DrawMenuText' declared 'static' but never defined [-Wunused-function]
   37 | void static DrawMenuText(void);
      |             ^~~~~~~~~~~~
menumanager.fdh:42:13: warning: 'DrawLogo' declared 'static' but never defined [-Wunused-function]
   42 | void static DrawLogo(void);
      |             ^~~~~~~~
menumanager.fdh:45:13: warning: 'move_down' declared 'static' but never defined [-Wunused-function]
   45 | void static move_down(void);
      |             ^~~~~~~~~
menumanager.fdh:46:13: warning: 'move_up' declared 'static' but never defined [-Wunused-function]
   46 | void static move_up(void);
      |             ^~~~~~~
menumanager.fdh:49:13: warning: 'goto_epmenu' declared 'static' but never defined [-Wunused-function]
   49 | char static goto_epmenu(int numplayers);
      |             ^~~~~~~~~~~
menumanager.fdh:50:13: warning: 'mmhandler_newgame' declared 'static' but never defined [-Wunused-function]
   50 | char static mmhandler_newgame(int episode);
      |             ^~~~~~~~~~~~~~~~~
menumanager.fdh:51:13: warning: 'mmhandler_endgame' declared 'static' but never defined [-Wunused-function]
   51 | char static mmhandler_endgame(int dummy);
      |             ^~~~~~~~~~~~~~~~~
menumanager.fdh:52:13: warning: 'mmhandler_restartlevel' declared 'static' but never defined [-Wunused-function]
   52 | char static mmhandler_restartlevel(int dummy);
      |             ^~~~~~~~~~~~~~~~~~~~~~
menumanager.fdh:53:13: warning: 'mmhandler_quit' declared 'static' but never defined [-Wunused-function]
   53 | char static mmhandler_quit(int dummy);
      |             ^~~~~~~~~~~~~~
menumanager.fdh:54:13: warning: 'mmhandler_quit2' declared 'static' but never defined [-Wunused-function]
   54 | char static mmhandler_quit2(int dummy);
      |             ^~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c twirly.c -o twirly.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c menu_savegames.c -o menu_savegames.o
menu_savegames.c:8:31: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
    8 | uchar *loadgame_menu[MAXM] = {(7*8)-3,70,  0, loadsavegamenames, NULL, NULL, NULL,
      |                               ^
menu_savegames.c:8:31: note: (near initialization for 'loadgame_menu[0]')
menu_savegames.c:8:39: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
    8 | uchar *loadgame_menu[MAXM] = {(7*8)-3,70,  0, loadsavegamenames, NULL, NULL, NULL,
      |                                       ^~
menu_savegames.c:8:39: note: (near initialization for 'loadgame_menu[1]')
menu_savegames.c:8:47: warning: initialization of 'unsigned char *' from incompatible pointer type 'void (*)(void)' [-Wincompatible-pointer-types]
    8 | uchar *loadgame_menu[MAXM] = {(7*8)-3,70,  0, loadsavegamenames, NULL, NULL, NULL,
      |                                               ^~~~~~~~~~~~~~~~~
menu_savegames.c:8:47: note: (near initialization for 'loadgame_menu[3]')
menu_savegames.c:9:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
    9 |      "1", MNU_DYNAMICTEXT, loadgame_getgamename, 1,
      |      ^~~
menu_savegames.c:9:6: note: (near initialization for 'loadgame_menu[7]')
In file included from menu_savegames.c:3:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:9:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
    9 |      "1", MNU_DYNAMICTEXT, loadgame_getgamename, 1,
      |           ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'loadgame_menu[8]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:9:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
    9 |      "1", MNU_DYNAMICTEXT, loadgame_getgamename, 1,
      |           ^~~~~~~~~~~~~~~
menu_savegames.c:9:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
    9 |      "1", MNU_DYNAMICTEXT, loadgame_getgamename, 1,
      |                            ^~~~~~~~~~~~~~~~~~~~
menu_savegames.c:9:28: note: (near initialization for 'loadgame_menu[9]')
menu_savegames.c:9:50: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
    9 |      "1", MNU_DYNAMICTEXT, loadgame_getgamename, 1,
      |                                                  ^
menu_savegames.c:9:50: note: (near initialization for 'loadgame_menu[10]')
menu_savegames.c:10:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   10 |      "2", MNU_DYNAMICTEXT, loadgame_getgamename, 2,
      |      ^~~
menu_savegames.c:10:6: note: (near initialization for 'loadgame_menu[11]')
In file included from menu_savegames.c:3:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:10:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   10 |      "2", MNU_DYNAMICTEXT, loadgame_getgamename, 2,
      |           ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'loadgame_menu[12]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:10:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   10 |      "2", MNU_DYNAMICTEXT, loadgame_getgamename, 2,
      |           ^~~~~~~~~~~~~~~
menu_savegames.c:10:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   10 |      "2", MNU_DYNAMICTEXT, loadgame_getgamename, 2,
      |                            ^~~~~~~~~~~~~~~~~~~~
menu_savegames.c:10:28: note: (near initialization for 'loadgame_menu[13]')
menu_savegames.c:10:50: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   10 |      "2", MNU_DYNAMICTEXT, loadgame_getgamename, 2,
      |                                                  ^
menu_savegames.c:10:50: note: (near initialization for 'loadgame_menu[14]')
menu_savegames.c:11:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   11 |      "3", MNU_DYNAMICTEXT, loadgame_getgamename, 3,
      |      ^~~
menu_savegames.c:11:6: note: (near initialization for 'loadgame_menu[15]')
In file included from menu_savegames.c:3:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:11:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   11 |      "3", MNU_DYNAMICTEXT, loadgame_getgamename, 3,
      |           ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'loadgame_menu[16]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:11:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   11 |      "3", MNU_DYNAMICTEXT, loadgame_getgamename, 3,
      |           ^~~~~~~~~~~~~~~
menu_savegames.c:11:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   11 |      "3", MNU_DYNAMICTEXT, loadgame_getgamename, 3,
      |                            ^~~~~~~~~~~~~~~~~~~~
menu_savegames.c:11:28: note: (near initialization for 'loadgame_menu[17]')
menu_savegames.c:11:50: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   11 |      "3", MNU_DYNAMICTEXT, loadgame_getgamename, 3,
      |                                                  ^
menu_savegames.c:11:50: note: (near initialization for 'loadgame_menu[18]')
menu_savegames.c:12:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   12 |      "4", MNU_DYNAMICTEXT, loadgame_getgamename, 4,
      |      ^~~
menu_savegames.c:12:6: note: (near initialization for 'loadgame_menu[19]')
In file included from menu_savegames.c:3:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:12:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   12 |      "4", MNU_DYNAMICTEXT, loadgame_getgamename, 4,
      |           ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'loadgame_menu[20]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:12:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   12 |      "4", MNU_DYNAMICTEXT, loadgame_getgamename, 4,
      |           ^~~~~~~~~~~~~~~
menu_savegames.c:12:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   12 |      "4", MNU_DYNAMICTEXT, loadgame_getgamename, 4,
      |                            ^~~~~~~~~~~~~~~~~~~~
menu_savegames.c:12:28: note: (near initialization for 'loadgame_menu[21]')
menu_savegames.c:12:50: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   12 |      "4", MNU_DYNAMICTEXT, loadgame_getgamename, 4,
      |                                                  ^
menu_savegames.c:12:50: note: (near initialization for 'loadgame_menu[22]')
menu_savegames.c:13:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   13 |      "5", MNU_DYNAMICTEXT, loadgame_getgamename, 5,
      |      ^~~
menu_savegames.c:13:6: note: (near initialization for 'loadgame_menu[23]')
In file included from menu_savegames.c:3:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:13:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   13 |      "5", MNU_DYNAMICTEXT, loadgame_getgamename, 5,
      |           ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'loadgame_menu[24]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:13:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   13 |      "5", MNU_DYNAMICTEXT, loadgame_getgamename, 5,
      |           ^~~~~~~~~~~~~~~
menu_savegames.c:13:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   13 |      "5", MNU_DYNAMICTEXT, loadgame_getgamename, 5,
      |                            ^~~~~~~~~~~~~~~~~~~~
menu_savegames.c:13:28: note: (near initialization for 'loadgame_menu[25]')
menu_savegames.c:13:50: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   13 |      "5", MNU_DYNAMICTEXT, loadgame_getgamename, 5,
      |                                                  ^
menu_savegames.c:13:50: note: (near initialization for 'loadgame_menu[26]')
menu_savegames.c:14:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   14 |      "6", MNU_DYNAMICTEXT, loadgame_getgamename, 6,
      |      ^~~
menu_savegames.c:14:6: note: (near initialization for 'loadgame_menu[27]')
In file included from menu_savegames.c:3:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:14:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   14 |      "6", MNU_DYNAMICTEXT, loadgame_getgamename, 6,
      |           ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'loadgame_menu[28]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:14:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   14 |      "6", MNU_DYNAMICTEXT, loadgame_getgamename, 6,
      |           ^~~~~~~~~~~~~~~
menu_savegames.c:14:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   14 |      "6", MNU_DYNAMICTEXT, loadgame_getgamename, 6,
      |                            ^~~~~~~~~~~~~~~~~~~~
menu_savegames.c:14:28: note: (near initialization for 'loadgame_menu[29]')
menu_savegames.c:14:50: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   14 |      "6", MNU_DYNAMICTEXT, loadgame_getgamename, 6,
      |                                                  ^
menu_savegames.c:14:50: note: (near initialization for 'loadgame_menu[30]')
menu_savegames.c:15:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   15 |      "7", MNU_DYNAMICTEXT, loadgame_getgamename, 7,
      |      ^~~
menu_savegames.c:15:6: note: (near initialization for 'loadgame_menu[31]')
In file included from menu_savegames.c:3:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:15:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   15 |      "7", MNU_DYNAMICTEXT, loadgame_getgamename, 7,
      |           ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'loadgame_menu[32]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:15:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   15 |      "7", MNU_DYNAMICTEXT, loadgame_getgamename, 7,
      |           ^~~~~~~~~~~~~~~
menu_savegames.c:15:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   15 |      "7", MNU_DYNAMICTEXT, loadgame_getgamename, 7,
      |                            ^~~~~~~~~~~~~~~~~~~~
menu_savegames.c:15:28: note: (near initialization for 'loadgame_menu[33]')
menu_savegames.c:15:50: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   15 |      "7", MNU_DYNAMICTEXT, loadgame_getgamename, 7,
      |                                                  ^
menu_savegames.c:15:50: note: (near initialization for 'loadgame_menu[34]')
menu_savegames.c:16:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   16 |      "8", MNU_DYNAMICTEXT, loadgame_getgamename, 8,
      |      ^~~
menu_savegames.c:16:6: note: (near initialization for 'loadgame_menu[35]')
In file included from menu_savegames.c:3:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:16:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   16 |      "8", MNU_DYNAMICTEXT, loadgame_getgamename, 8,
      |           ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'loadgame_menu[36]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:16:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   16 |      "8", MNU_DYNAMICTEXT, loadgame_getgamename, 8,
      |           ^~~~~~~~~~~~~~~
menu_savegames.c:16:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   16 |      "8", MNU_DYNAMICTEXT, loadgame_getgamename, 8,
      |                            ^~~~~~~~~~~~~~~~~~~~
menu_savegames.c:16:28: note: (near initialization for 'loadgame_menu[37]')
menu_savegames.c:16:50: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   16 |      "8", MNU_DYNAMICTEXT, loadgame_getgamename, 8,
      |                                                  ^
menu_savegames.c:16:50: note: (near initialization for 'loadgame_menu[38]')
menu_savegames.c:17:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   17 |      "9", MNU_DYNAMICTEXT, loadgame_getgamename, 9,
      |      ^~~
menu_savegames.c:17:6: note: (near initialization for 'loadgame_menu[39]')
In file included from menu_savegames.c:3:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:17:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   17 |      "9", MNU_DYNAMICTEXT, loadgame_getgamename, 9,
      |           ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'loadgame_menu[40]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:17:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   17 |      "9", MNU_DYNAMICTEXT, loadgame_getgamename, 9,
      |           ^~~~~~~~~~~~~~~
menu_savegames.c:17:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   17 |      "9", MNU_DYNAMICTEXT, loadgame_getgamename, 9,
      |                            ^~~~~~~~~~~~~~~~~~~~
menu_savegames.c:17:28: note: (near initialization for 'loadgame_menu[41]')
menu_savegames.c:17:50: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   17 |      "9", MNU_DYNAMICTEXT, loadgame_getgamename, 9,
      |                                                  ^
menu_savegames.c:17:50: note: (near initialization for 'loadgame_menu[42]')
menu_savegames.c:18:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   18 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
menu_savegames.c:18:6: note: (near initialization for 'loadgame_menu[43]')
menu_savegames.c:19:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   19 |      "Cancel", MNU_CALLFP, dismiss_menu, 0,
      |      ^~~~~~~~
menu_savegames.c:19:6: note: (near initialization for 'loadgame_menu[47]')
In file included from menu_savegames.c:3:
menu.h:61:22: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menu_savegames.c:19:16: note: in expansion of macro 'MNU_CALLFP'
   19 |      "Cancel", MNU_CALLFP, dismiss_menu, 0,
      |                ^~~~~~~~~~
menu.h:61:22: note: (near initialization for 'loadgame_menu[48]')
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menu_savegames.c:19:16: note: in expansion of macro 'MNU_CALLFP'
   19 |      "Cancel", MNU_CALLFP, dismiss_menu, 0,
      |                ^~~~~~~~~~
menu_savegames.c:19:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char (*)(int)' [-Wincompatible-pointer-types]
   19 |      "Cancel", MNU_CALLFP, dismiss_menu, 0,
      |                            ^~~~~~~~~~~~
menu_savegames.c:19:28: note: (near initialization for 'loadgame_menu[49]')
menu_savegames.c:21:31: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   21 | uchar *savegame_menu[MAXM] = {(7*8)-3,70,  0, loadsavegamenames, NULL, NULL, NULL,
      |                               ^
menu_savegames.c:21:31: note: (near initialization for 'savegame_menu[0]')
menu_savegames.c:21:39: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   21 | uchar *savegame_menu[MAXM] = {(7*8)-3,70,  0, loadsavegamenames, NULL, NULL, NULL,
      |                                       ^~
menu_savegames.c:21:39: note: (near initialization for 'savegame_menu[1]')
menu_savegames.c:21:47: warning: initialization of 'unsigned char *' from incompatible pointer type 'void (*)(void)' [-Wincompatible-pointer-types]
   21 | uchar *savegame_menu[MAXM] = {(7*8)-3,70,  0, loadsavegamenames, NULL, NULL, NULL,
      |                                               ^~~~~~~~~~~~~~~~~
menu_savegames.c:21:47: note: (near initialization for 'savegame_menu[3]')
menu_savegames.c:22:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   22 |      "1", MNU_DYNAMICTEXT, savegame_getgamename, 1,
      |      ^~~
menu_savegames.c:22:6: note: (near initialization for 'savegame_menu[7]')
In file included from menu_savegames.c:3:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:22:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   22 |      "1", MNU_DYNAMICTEXT, savegame_getgamename, 1,
      |           ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'savegame_menu[8]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:22:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   22 |      "1", MNU_DYNAMICTEXT, savegame_getgamename, 1,
      |           ^~~~~~~~~~~~~~~
menu_savegames.c:22:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   22 |      "1", MNU_DYNAMICTEXT, savegame_getgamename, 1,
      |                            ^~~~~~~~~~~~~~~~~~~~
menu_savegames.c:22:28: note: (near initialization for 'savegame_menu[9]')
menu_savegames.c:22:50: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   22 |      "1", MNU_DYNAMICTEXT, savegame_getgamename, 1,
      |                                                  ^
menu_savegames.c:22:50: note: (near initialization for 'savegame_menu[10]')
menu_savegames.c:23:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   23 |      "2", MNU_DYNAMICTEXT, savegame_getgamename, 2,
      |      ^~~
menu_savegames.c:23:6: note: (near initialization for 'savegame_menu[11]')
In file included from menu_savegames.c:3:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:23:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   23 |      "2", MNU_DYNAMICTEXT, savegame_getgamename, 2,
      |           ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'savegame_menu[12]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:23:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   23 |      "2", MNU_DYNAMICTEXT, savegame_getgamename, 2,
      |           ^~~~~~~~~~~~~~~
menu_savegames.c:23:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   23 |      "2", MNU_DYNAMICTEXT, savegame_getgamename, 2,
      |                            ^~~~~~~~~~~~~~~~~~~~
menu_savegames.c:23:28: note: (near initialization for 'savegame_menu[13]')
menu_savegames.c:23:50: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   23 |      "2", MNU_DYNAMICTEXT, savegame_getgamename, 2,
      |                                                  ^
menu_savegames.c:23:50: note: (near initialization for 'savegame_menu[14]')
menu_savegames.c:24:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   24 |      "3", MNU_DYNAMICTEXT, savegame_getgamename, 3,
      |      ^~~
menu_savegames.c:24:6: note: (near initialization for 'savegame_menu[15]')
In file included from menu_savegames.c:3:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:24:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   24 |      "3", MNU_DYNAMICTEXT, savegame_getgamename, 3,
      |           ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'savegame_menu[16]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:24:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   24 |      "3", MNU_DYNAMICTEXT, savegame_getgamename, 3,
      |           ^~~~~~~~~~~~~~~
menu_savegames.c:24:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   24 |      "3", MNU_DYNAMICTEXT, savegame_getgamename, 3,
      |                            ^~~~~~~~~~~~~~~~~~~~
menu_savegames.c:24:28: note: (near initialization for 'savegame_menu[17]')
menu_savegames.c:24:50: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   24 |      "3", MNU_DYNAMICTEXT, savegame_getgamename, 3,
      |                                                  ^
menu_savegames.c:24:50: note: (near initialization for 'savegame_menu[18]')
menu_savegames.c:25:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   25 |      "4", MNU_DYNAMICTEXT, savegame_getgamename, 4,
      |      ^~~
menu_savegames.c:25:6: note: (near initialization for 'savegame_menu[19]')
In file included from menu_savegames.c:3:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:25:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   25 |      "4", MNU_DYNAMICTEXT, savegame_getgamename, 4,
      |           ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'savegame_menu[20]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:25:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   25 |      "4", MNU_DYNAMICTEXT, savegame_getgamename, 4,
      |           ^~~~~~~~~~~~~~~
menu_savegames.c:25:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   25 |      "4", MNU_DYNAMICTEXT, savegame_getgamename, 4,
      |                            ^~~~~~~~~~~~~~~~~~~~
menu_savegames.c:25:28: note: (near initialization for 'savegame_menu[21]')
menu_savegames.c:25:50: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   25 |      "4", MNU_DYNAMICTEXT, savegame_getgamename, 4,
      |                                                  ^
menu_savegames.c:25:50: note: (near initialization for 'savegame_menu[22]')
menu_savegames.c:26:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   26 |      "5", MNU_DYNAMICTEXT, savegame_getgamename, 5,
      |      ^~~
menu_savegames.c:26:6: note: (near initialization for 'savegame_menu[23]')
In file included from menu_savegames.c:3:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:26:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   26 |      "5", MNU_DYNAMICTEXT, savegame_getgamename, 5,
      |           ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'savegame_menu[24]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:26:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   26 |      "5", MNU_DYNAMICTEXT, savegame_getgamename, 5,
      |           ^~~~~~~~~~~~~~~
menu_savegames.c:26:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   26 |      "5", MNU_DYNAMICTEXT, savegame_getgamename, 5,
      |                            ^~~~~~~~~~~~~~~~~~~~
menu_savegames.c:26:28: note: (near initialization for 'savegame_menu[25]')
menu_savegames.c:26:50: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   26 |      "5", MNU_DYNAMICTEXT, savegame_getgamename, 5,
      |                                                  ^
menu_savegames.c:26:50: note: (near initialization for 'savegame_menu[26]')
menu_savegames.c:27:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   27 |      "6", MNU_DYNAMICTEXT, savegame_getgamename, 6,
      |      ^~~
menu_savegames.c:27:6: note: (near initialization for 'savegame_menu[27]')
In file included from menu_savegames.c:3:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:27:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   27 |      "6", MNU_DYNAMICTEXT, savegame_getgamename, 6,
      |           ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'savegame_menu[28]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:27:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   27 |      "6", MNU_DYNAMICTEXT, savegame_getgamename, 6,
      |           ^~~~~~~~~~~~~~~
menu_savegames.c:27:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   27 |      "6", MNU_DYNAMICTEXT, savegame_getgamename, 6,
      |                            ^~~~~~~~~~~~~~~~~~~~
menu_savegames.c:27:28: note: (near initialization for 'savegame_menu[29]')
menu_savegames.c:27:50: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   27 |      "6", MNU_DYNAMICTEXT, savegame_getgamename, 6,
      |                                                  ^
menu_savegames.c:27:50: note: (near initialization for 'savegame_menu[30]')
menu_savegames.c:28:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   28 |      "7", MNU_DYNAMICTEXT, savegame_getgamename, 7,
      |      ^~~
menu_savegames.c:28:6: note: (near initialization for 'savegame_menu[31]')
In file included from menu_savegames.c:3:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:28:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   28 |      "7", MNU_DYNAMICTEXT, savegame_getgamename, 7,
      |           ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'savegame_menu[32]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:28:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   28 |      "7", MNU_DYNAMICTEXT, savegame_getgamename, 7,
      |           ^~~~~~~~~~~~~~~
menu_savegames.c:28:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   28 |      "7", MNU_DYNAMICTEXT, savegame_getgamename, 7,
      |                            ^~~~~~~~~~~~~~~~~~~~
menu_savegames.c:28:28: note: (near initialization for 'savegame_menu[33]')
menu_savegames.c:28:50: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   28 |      "7", MNU_DYNAMICTEXT, savegame_getgamename, 7,
      |                                                  ^
menu_savegames.c:28:50: note: (near initialization for 'savegame_menu[34]')
menu_savegames.c:29:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   29 |      "8", MNU_DYNAMICTEXT, savegame_getgamename, 8,
      |      ^~~
menu_savegames.c:29:6: note: (near initialization for 'savegame_menu[35]')
In file included from menu_savegames.c:3:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:29:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   29 |      "8", MNU_DYNAMICTEXT, savegame_getgamename, 8,
      |           ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'savegame_menu[36]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:29:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   29 |      "8", MNU_DYNAMICTEXT, savegame_getgamename, 8,
      |           ^~~~~~~~~~~~~~~
menu_savegames.c:29:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   29 |      "8", MNU_DYNAMICTEXT, savegame_getgamename, 8,
      |                            ^~~~~~~~~~~~~~~~~~~~
menu_savegames.c:29:28: note: (near initialization for 'savegame_menu[37]')
menu_savegames.c:29:50: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   29 |      "8", MNU_DYNAMICTEXT, savegame_getgamename, 8,
      |                                                  ^
menu_savegames.c:29:50: note: (near initialization for 'savegame_menu[38]')
menu_savegames.c:30:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   30 |      "9", MNU_DYNAMICTEXT, savegame_getgamename, 9,
      |      ^~~
menu_savegames.c:30:6: note: (near initialization for 'savegame_menu[39]')
In file included from menu_savegames.c:3:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:30:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   30 |      "9", MNU_DYNAMICTEXT, savegame_getgamename, 9,
      |           ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'savegame_menu[40]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_savegames.c:30:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   30 |      "9", MNU_DYNAMICTEXT, savegame_getgamename, 9,
      |           ^~~~~~~~~~~~~~~
menu_savegames.c:30:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   30 |      "9", MNU_DYNAMICTEXT, savegame_getgamename, 9,
      |                            ^~~~~~~~~~~~~~~~~~~~
menu_savegames.c:30:28: note: (near initialization for 'savegame_menu[41]')
menu_savegames.c:30:50: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   30 |      "9", MNU_DYNAMICTEXT, savegame_getgamename, 9,
      |                                                  ^
menu_savegames.c:30:50: note: (near initialization for 'savegame_menu[42]')
menu_savegames.c:31:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   31 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
menu_savegames.c:31:6: note: (near initialization for 'savegame_menu[43]')
menu_savegames.c:32:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   32 |      "Cancel", MNU_CALLFP, dismiss_menu, 0,
      |      ^~~~~~~~
menu_savegames.c:32:6: note: (near initialization for 'savegame_menu[47]')
In file included from menu_savegames.c:3:
menu.h:61:22: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menu_savegames.c:32:16: note: in expansion of macro 'MNU_CALLFP'
   32 |      "Cancel", MNU_CALLFP, dismiss_menu, 0,
      |                ^~~~~~~~~~
menu.h:61:22: note: (near initialization for 'savegame_menu[48]')
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menu_savegames.c:32:16: note: in expansion of macro 'MNU_CALLFP'
   32 |      "Cancel", MNU_CALLFP, dismiss_menu, 0,
      |                ^~~~~~~~~~
menu_savegames.c:32:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char (*)(int)' [-Wincompatible-pointer-types]
   32 |      "Cancel", MNU_CALLFP, dismiss_menu, 0,
      |                            ^~~~~~~~~~~~
menu_savegames.c:32:28: note: (near initialization for 'savegame_menu[49]')
menu_savegames.c:35:34: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   35 | uchar *savegame_failure[MAXM] = {4,94,  255, NULL,
      |                                  ^
menu_savegames.c:35:34: note: (near initialization for 'savegame_failure[0]')
menu_savegames.c:35:36: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   35 | uchar *savegame_failure[MAXM] = {4,94,  255, NULL,
      |                                    ^~
menu_savegames.c:35:36: note: (near initialization for 'savegame_failure[1]')
menu_savegames.c:35:41: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   35 | uchar *savegame_failure[MAXM] = {4,94,  255, NULL,
      |                                         ^~~
menu_savegames.c:35:41: note: (near initialization for 'savegame_failure[2]')
menu_savegames.c:36:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   36 |      "Failure-- Unable to save the game.", MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
menu_savegames.c:36:6: note: (near initialization for 'savegame_failure[4]')
menu_savegames.c:37:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   37 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
menu_savegames.c:37:6: note: (near initialization for 'savegame_failure[8]')
menu_savegames.c:38:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   38 |      "Ok", MNU_CALLFP, dismiss_menu, 0,
      |      ^~~~
menu_savegames.c:38:6: note: (near initialization for 'savegame_failure[12]')
In file included from menu_savegames.c:3:
menu.h:61:22: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menu_savegames.c:38:12: note: in expansion of macro 'MNU_CALLFP'
   38 |      "Ok", MNU_CALLFP, dismiss_menu, 0,
      |            ^~~~~~~~~~
menu.h:61:22: note: (near initialization for 'savegame_failure[13]')
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menu_savegames.c:38:12: note: in expansion of macro 'MNU_CALLFP'
   38 |      "Ok", MNU_CALLFP, dismiss_menu, 0,
      |            ^~~~~~~~~~
menu_savegames.c:38:24: warning: initialization of 'unsigned char *' from incompatible pointer type 'char (*)(int)' [-Wincompatible-pointer-types]
   38 |      "Ok", MNU_CALLFP, dismiss_menu, 0,
      |                        ^~~~~~~~~~~~
menu_savegames.c:38:24: note: (near initialization for 'savegame_failure[14]')
menu_savegames.c: In function 'loadsavegamenames':
menu_savegames.c:74:36: warning: pointer targets in passing argument 6 of 'savegame_readheader' differ in signedness [-Wpointer-sign]
   74 |          &savegames[i].numplayers, &savegames[i].iscustom);
      |                                    ^~~~~~~~~~~~~~~~~~~~~~
      |                                    |
      |                                    char *
In file included from menu_savegames.c:2:
menu_savegames.fdh:42:107: note: expected 'unsigned char *' but argument is of type 'char *'
   42 | void savegame_readheader(FILE *fp, uchar *episode, uchar *level, uchar *lives, uchar *num_players, uchar *is_custom);
menu_savegames.c: In function 'getsgstr':
menu_savegames.c:94:14: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
   94 |    font_draw("Use DEL to delete games", x, 222, drawcharacter_clear);
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~
      |              |
      |              char *
In file included from menu_savegames.c:2:
menu_savegames.fdh:19:31: note: expected 'unsigned char *' but argument is of type 'char *'
   19 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
menu_savegames.c:100:14: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
  100 |    font_draw("Use DEL to delete games", x, 390, drawcharacter_clear_erasebg);
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~
      |              |
      |              char *
In file included from menu_savegames.c:2:
menu_savegames.fdh:19:31: note: expected 'unsigned char *' but argument is of type 'char *'
   19 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
menu_savegames.c:109:12: warning: pointer targets in passing argument 1 of 'sprintf' differ in signedness [-Wpointer-sign]
  109 |    sprintf(tempbuf, "[USERM - %d lives  %cp]", savegames[slot].lives, savegames[slot].numplayers+'0');
      |            ^~~~~~~
      |            |
      |            unsigned char *
In file included from /usr/include/features.h:450,
                 from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdio.h:27,
                 from keen.h:2,
                 from menu_savegames.c:1:
/usr/include/bits/stdio2.h:34:1: note: expected 'char * restrict' but argument is of type 'unsigned char *'
   34 | __NTH (sprintf (char *__restrict __s, const char *__restrict __fmt, ...))
      | ^~~~~
menu_savegames.c:114:13: warning: pointer targets in passing argument 1 of 'sprintf' differ in signedness [-Wpointer-sign]
  114 |     sprintf(tempbuf, "[E%d WM - %d lives  %cp]", savegames[slot].episode, savegames[slot].lives, savegames[slot].numplayers+'0');
      |             ^~~~~~~
      |             |
      |             unsigned char *
In file included from /usr/include/features.h:450,
                 from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdio.h:27,
                 from keen.h:2,
                 from menu_savegames.c:1:
/usr/include/bits/stdio2.h:34:1: note: expected 'char * restrict' but argument is of type 'unsigned char *'
   34 | __NTH (sprintf (char *__restrict __s, const char *__restrict __fmt, ...))
      | ^~~~~
menu_savegames.c:116:13: warning: pointer targets in passing argument 1 of 'sprintf' differ in signedness [-Wpointer-sign]
  116 |     sprintf(tempbuf, "[E%dL%02d - %d lives  %cp]", savegames[slot].episode, savegames[slot].level, savegames[slot].lives, savegames[slot].numplayers+'0');
      |             ^~~~~~~
      |             |
      |             unsigned char *
In file included from /usr/include/features.h:450,
                 from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdio.h:27,
                 from keen.h:2,
                 from menu_savegames.c:1:
/usr/include/bits/stdio2.h:34:1: note: expected 'char * restrict' but argument is of type 'unsigned char *'
   34 | __NTH (sprintf (char *__restrict __s, const char *__restrict __fmt, ...))
      | ^~~~~
menu_savegames.c:127:10: warning: pointer targets in passing argument 1 of 'strcpy' differ in signedness [-Wpointer-sign]
  127 |   strcpy(tempbuf, BLANKGAME);
      |          ^~~~~~~
      |          |
      |          unsigned char *
In file included from /usr/include/features.h:450,
                 from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdio.h:27,
                 from keen.h:2,
                 from menu_savegames.c:1:
/usr/include/bits/string_fortified.h:88:1: note: expected 'char * restrict' but argument is of type 'unsigned char *'
   88 | __NTH (strcpy (char *__restrict __dest, const char *__restrict __src))
      | ^~~~~
menu_savegames.c:136:12: warning: pointer targets in passing argument 1 of 'strcpy' differ in signedness [-Wpointer-sign]
  136 |     strcpy(tempbuf, XXXGAME);
      |            ^~~~~~~
      |            |
      |            unsigned char *
In file included from /usr/include/features.h:450,
                 from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdio.h:27,
                 from keen.h:2,
                 from menu_savegames.c:1:
/usr/include/bits/string_fortified.h:88:1: note: expected 'char * restrict' but argument is of type 'unsigned char *'
   88 | __NTH (strcpy (char *__restrict __dest, const char *__restrict __src))
      | ^~~~~
menu_savegames.c:154:14: warning: pointer targets in returning 'unsigned char *' from a function with return type 'char *' differ in signedness [-Wpointer-sign]
  154 |       return tempbuf;
      |              ^~~~~~~
menu_savegames.c:165:9: warning: pointer targets in returning 'unsigned char *' from a function with return type 'char *' differ in signedness [-Wpointer-sign]
  165 |  return tempbuf;
      |         ^~~~~~~
menu_savegames.c: In function 'savegame_getgamename':
menu_savegames.c:197:18: warning: passing argument 1 of 'Menu_InitMenu' from incompatible pointer type [-Wincompatible-pointer-types]
  197 |    Menu_InitMenu(&savegame_failure);
      |                  ^~~~~~~~~~~~~~~~~
      |                  |
      |                  unsigned char * (*)[150]
In file included from menu_savegames.c:2:
menu_savegames.fdh:26:27: note: expected 'unsigned char *' but argument is of type 'unsigned char * (*)[150]'
   26 | void Menu_InitMenu(uchar *whichmenu);
In file included from menu.h:92,
                 from menu_savegames.c:3:
menu_savegames.c: At top level:
menumanager.fdh:36:13: warning: 'SelectCorrectMM' declared 'static' but never defined [-Wunused-function]
   36 | void static SelectCorrectMM(void);
      |             ^~~~~~~~~~~~~~~
menumanager.fdh:37:13: warning: 'DrawMenuText' declared 'static' but never defined [-Wunused-function]
   37 | void static DrawMenuText(void);
      |             ^~~~~~~~~~~~
menumanager.fdh:42:13: warning: 'DrawLogo' declared 'static' but never defined [-Wunused-function]
   42 | void static DrawLogo(void);
      |             ^~~~~~~~
menumanager.fdh:45:13: warning: 'move_down' declared 'static' but never defined [-Wunused-function]
   45 | void static move_down(void);
      |             ^~~~~~~~~
menumanager.fdh:46:13: warning: 'move_up' declared 'static' but never defined [-Wunused-function]
   46 | void static move_up(void);
      |             ^~~~~~~
menumanager.fdh:49:13: warning: 'goto_epmenu' declared 'static' but never defined [-Wunused-function]
   49 | char static goto_epmenu(int numplayers);
      |             ^~~~~~~~~~~
menumanager.fdh:50:13: warning: 'mmhandler_newgame' declared 'static' but never defined [-Wunused-function]
   50 | char static mmhandler_newgame(int episode);
      |             ^~~~~~~~~~~~~~~~~
menumanager.fdh:51:13: warning: 'mmhandler_endgame' declared 'static' but never defined [-Wunused-function]
   51 | char static mmhandler_endgame(int dummy);
      |             ^~~~~~~~~~~~~~~~~
menumanager.fdh:52:13: warning: 'mmhandler_restartlevel' declared 'static' but never defined [-Wunused-function]
   52 | char static mmhandler_restartlevel(int dummy);
      |             ^~~~~~~~~~~~~~~~~~~~~~
menumanager.fdh:53:13: warning: 'mmhandler_quit' declared 'static' but never defined [-Wunused-function]
   53 | char static mmhandler_quit(int dummy);
      |             ^~~~~~~~~~~~~~
menumanager.fdh:54:13: warning: 'mmhandler_quit2' declared 'static' but never defined [-Wunused-function]
   54 | char static mmhandler_quit2(int dummy);
      |             ^~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c menu_custommap.c -o menu_custommap.o
menu_custommap.c:10:32: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   10 | uchar *custommap_menu[MAXM] = {(7*9)-3,72,  0, cmap_enter, cmap_exit, cmap_scroll, NULL,
      |                                ^
menu_custommap.c:10:32: note: (near initialization for 'custommap_menu[0]')
menu_custommap.c:10:40: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   10 | uchar *custommap_menu[MAXM] = {(7*9)-3,72,  0, cmap_enter, cmap_exit, cmap_scroll, NULL,
      |                                        ^~
menu_custommap.c:10:40: note: (near initialization for 'custommap_menu[1]')
menu_custommap.c:10:48: warning: initialization of 'unsigned char *' from incompatible pointer type 'void (*)(void)' [-Wincompatible-pointer-types]
   10 | uchar *custommap_menu[MAXM] = {(7*9)-3,72,  0, cmap_enter, cmap_exit, cmap_scroll, NULL,
      |                                                ^~~~~~~~~~
menu_custommap.c:10:48: note: (near initialization for 'custommap_menu[3]')
menu_custommap.c:10:60: warning: initialization of 'unsigned char *' from incompatible pointer type 'void (*)(void)' [-Wincompatible-pointer-types]
   10 | uchar *custommap_menu[MAXM] = {(7*9)-3,72,  0, cmap_enter, cmap_exit, cmap_scroll, NULL,
      |                                                            ^~~~~~~~~
menu_custommap.c:10:60: note: (near initialization for 'custommap_menu[4]')
menu_custommap.c:10:71: warning: initialization of 'unsigned char *' from incompatible pointer type 'void (*)(char)' [-Wincompatible-pointer-types]
   10 | uchar *custommap_menu[MAXM] = {(7*9)-3,72,  0, cmap_enter, cmap_exit, cmap_scroll, NULL,
      |                                                                       ^~~~~~~~~~~
menu_custommap.c:10:71: note: (near initialization for 'custommap_menu[5]')
menu_custommap.c:11:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   11 |      "0", MNU_DYNAMICTEXT, getcmapname, 0,
      |      ^~~
menu_custommap.c:11:6: note: (near initialization for 'custommap_menu[7]')
In file included from menu_custommap.c:3:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_custommap.c:11:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   11 |      "0", MNU_DYNAMICTEXT, getcmapname, 0,
      |           ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'custommap_menu[8]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_custommap.c:11:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   11 |      "0", MNU_DYNAMICTEXT, getcmapname, 0,
      |           ^~~~~~~~~~~~~~~
menu_custommap.c:11:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   11 |      "0", MNU_DYNAMICTEXT, getcmapname, 0,
      |                            ^~~~~~~~~~~
menu_custommap.c:11:28: note: (near initialization for 'custommap_menu[9]')
menu_custommap.c:12:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   12 |      "1", MNU_DYNAMICTEXT, getcmapname, 1,
      |      ^~~
menu_custommap.c:12:6: note: (near initialization for 'custommap_menu[11]')
In file included from menu_custommap.c:3:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_custommap.c:12:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   12 |      "1", MNU_DYNAMICTEXT, getcmapname, 1,
      |           ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'custommap_menu[12]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_custommap.c:12:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   12 |      "1", MNU_DYNAMICTEXT, getcmapname, 1,
      |           ^~~~~~~~~~~~~~~
menu_custommap.c:12:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   12 |      "1", MNU_DYNAMICTEXT, getcmapname, 1,
      |                            ^~~~~~~~~~~
menu_custommap.c:12:28: note: (near initialization for 'custommap_menu[13]')
menu_custommap.c:12:41: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   12 |      "1", MNU_DYNAMICTEXT, getcmapname, 1,
      |                                         ^
menu_custommap.c:12:41: note: (near initialization for 'custommap_menu[14]')
menu_custommap.c:13:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   13 |      "2", MNU_DYNAMICTEXT, getcmapname, 2,
      |      ^~~
menu_custommap.c:13:6: note: (near initialization for 'custommap_menu[15]')
In file included from menu_custommap.c:3:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_custommap.c:13:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   13 |      "2", MNU_DYNAMICTEXT, getcmapname, 2,
      |           ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'custommap_menu[16]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_custommap.c:13:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   13 |      "2", MNU_DYNAMICTEXT, getcmapname, 2,
      |           ^~~~~~~~~~~~~~~
menu_custommap.c:13:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   13 |      "2", MNU_DYNAMICTEXT, getcmapname, 2,
      |                            ^~~~~~~~~~~
menu_custommap.c:13:28: note: (near initialization for 'custommap_menu[17]')
menu_custommap.c:13:41: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   13 |      "2", MNU_DYNAMICTEXT, getcmapname, 2,
      |                                         ^
menu_custommap.c:13:41: note: (near initialization for 'custommap_menu[18]')
menu_custommap.c:14:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   14 |      "3", MNU_DYNAMICTEXT, getcmapname, 3,
      |      ^~~
menu_custommap.c:14:6: note: (near initialization for 'custommap_menu[19]')
In file included from menu_custommap.c:3:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_custommap.c:14:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   14 |      "3", MNU_DYNAMICTEXT, getcmapname, 3,
      |           ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'custommap_menu[20]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_custommap.c:14:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   14 |      "3", MNU_DYNAMICTEXT, getcmapname, 3,
      |           ^~~~~~~~~~~~~~~
menu_custommap.c:14:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   14 |      "3", MNU_DYNAMICTEXT, getcmapname, 3,
      |                            ^~~~~~~~~~~
menu_custommap.c:14:28: note: (near initialization for 'custommap_menu[21]')
menu_custommap.c:14:41: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   14 |      "3", MNU_DYNAMICTEXT, getcmapname, 3,
      |                                         ^
menu_custommap.c:14:41: note: (near initialization for 'custommap_menu[22]')
menu_custommap.c:15:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   15 |      "4", MNU_DYNAMICTEXT, getcmapname, 4,
      |      ^~~
menu_custommap.c:15:6: note: (near initialization for 'custommap_menu[23]')
In file included from menu_custommap.c:3:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_custommap.c:15:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   15 |      "4", MNU_DYNAMICTEXT, getcmapname, 4,
      |           ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'custommap_menu[24]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_custommap.c:15:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   15 |      "4", MNU_DYNAMICTEXT, getcmapname, 4,
      |           ^~~~~~~~~~~~~~~
menu_custommap.c:15:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   15 |      "4", MNU_DYNAMICTEXT, getcmapname, 4,
      |                            ^~~~~~~~~~~
menu_custommap.c:15:28: note: (near initialization for 'custommap_menu[25]')
menu_custommap.c:15:41: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   15 |      "4", MNU_DYNAMICTEXT, getcmapname, 4,
      |                                         ^
menu_custommap.c:15:41: note: (near initialization for 'custommap_menu[26]')
menu_custommap.c:16:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   16 |      "5", MNU_DYNAMICTEXT, getcmapname, 5,
      |      ^~~
menu_custommap.c:16:6: note: (near initialization for 'custommap_menu[27]')
In file included from menu_custommap.c:3:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_custommap.c:16:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   16 |      "5", MNU_DYNAMICTEXT, getcmapname, 5,
      |           ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'custommap_menu[28]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_custommap.c:16:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   16 |      "5", MNU_DYNAMICTEXT, getcmapname, 5,
      |           ^~~~~~~~~~~~~~~
menu_custommap.c:16:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   16 |      "5", MNU_DYNAMICTEXT, getcmapname, 5,
      |                            ^~~~~~~~~~~
menu_custommap.c:16:28: note: (near initialization for 'custommap_menu[29]')
menu_custommap.c:16:41: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   16 |      "5", MNU_DYNAMICTEXT, getcmapname, 5,
      |                                         ^
menu_custommap.c:16:41: note: (near initialization for 'custommap_menu[30]')
menu_custommap.c:17:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   17 |      "6", MNU_DYNAMICTEXT, getcmapname, 6,
      |      ^~~
menu_custommap.c:17:6: note: (near initialization for 'custommap_menu[31]')
In file included from menu_custommap.c:3:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_custommap.c:17:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   17 |      "6", MNU_DYNAMICTEXT, getcmapname, 6,
      |           ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'custommap_menu[32]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_custommap.c:17:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   17 |      "6", MNU_DYNAMICTEXT, getcmapname, 6,
      |           ^~~~~~~~~~~~~~~
menu_custommap.c:17:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   17 |      "6", MNU_DYNAMICTEXT, getcmapname, 6,
      |                            ^~~~~~~~~~~
menu_custommap.c:17:28: note: (near initialization for 'custommap_menu[33]')
menu_custommap.c:17:41: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   17 |      "6", MNU_DYNAMICTEXT, getcmapname, 6,
      |                                         ^
menu_custommap.c:17:41: note: (near initialization for 'custommap_menu[34]')
menu_custommap.c:18:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   18 |      "7", MNU_DYNAMICTEXT, getcmapname, 7,
      |      ^~~
menu_custommap.c:18:6: note: (near initialization for 'custommap_menu[35]')
In file included from menu_custommap.c:3:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_custommap.c:18:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   18 |      "7", MNU_DYNAMICTEXT, getcmapname, 7,
      |           ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'custommap_menu[36]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_custommap.c:18:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   18 |      "7", MNU_DYNAMICTEXT, getcmapname, 7,
      |           ^~~~~~~~~~~~~~~
menu_custommap.c:18:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   18 |      "7", MNU_DYNAMICTEXT, getcmapname, 7,
      |                            ^~~~~~~~~~~
menu_custommap.c:18:28: note: (near initialization for 'custommap_menu[37]')
menu_custommap.c:18:41: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   18 |      "7", MNU_DYNAMICTEXT, getcmapname, 7,
      |                                         ^
menu_custommap.c:18:41: note: (near initialization for 'custommap_menu[38]')
menu_custommap.c:19:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   19 |      "8", MNU_DYNAMICTEXT, getcmapname, 8,
      |      ^~~
menu_custommap.c:19:6: note: (near initialization for 'custommap_menu[39]')
In file included from menu_custommap.c:3:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_custommap.c:19:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   19 |      "8", MNU_DYNAMICTEXT, getcmapname, 8,
      |           ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'custommap_menu[40]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_custommap.c:19:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   19 |      "8", MNU_DYNAMICTEXT, getcmapname, 8,
      |           ^~~~~~~~~~~~~~~
menu_custommap.c:19:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   19 |      "8", MNU_DYNAMICTEXT, getcmapname, 8,
      |                            ^~~~~~~~~~~
menu_custommap.c:19:28: note: (near initialization for 'custommap_menu[41]')
menu_custommap.c:19:41: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   19 |      "8", MNU_DYNAMICTEXT, getcmapname, 8,
      |                                         ^
menu_custommap.c:19:41: note: (near initialization for 'custommap_menu[42]')
menu_custommap.c:20:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   20 |      "9", MNU_DYNAMICTEXT, getcmapname, 9,
      |      ^~~
menu_custommap.c:20:6: note: (near initialization for 'custommap_menu[43]')
In file included from menu_custommap.c:3:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_custommap.c:20:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   20 |      "9", MNU_DYNAMICTEXT, getcmapname, 9,
      |           ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'custommap_menu[44]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_custommap.c:20:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   20 |      "9", MNU_DYNAMICTEXT, getcmapname, 9,
      |           ^~~~~~~~~~~~~~~
menu_custommap.c:20:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   20 |      "9", MNU_DYNAMICTEXT, getcmapname, 9,
      |                            ^~~~~~~~~~~
menu_custommap.c:20:28: note: (near initialization for 'custommap_menu[45]')
menu_custommap.c:20:41: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   20 |      "9", MNU_DYNAMICTEXT, getcmapname, 9,
      |                                         ^
menu_custommap.c:20:41: note: (near initialization for 'custommap_menu[46]')
menu_custommap.c:21:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   21 |      "10", MNU_DYNAMICTEXT, getcmapname, 10,
      |      ^~~~
menu_custommap.c:21:6: note: (near initialization for 'custommap_menu[47]')
In file included from menu_custommap.c:3:
menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_custommap.c:21:12: note: in expansion of macro 'MNU_DYNAMICTEXT'
   21 |      "10", MNU_DYNAMICTEXT, getcmapname, 10,
      |            ^~~~~~~~~~~~~~~
menu.h:62:26: note: (near initialization for 'custommap_menu[48]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
menu_custommap.c:21:12: note: in expansion of macro 'MNU_DYNAMICTEXT'
   21 |      "10", MNU_DYNAMICTEXT, getcmapname, 10,
      |            ^~~~~~~~~~~~~~~
menu_custommap.c:21:29: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   21 |      "10", MNU_DYNAMICTEXT, getcmapname, 10,
      |                             ^~~~~~~~~~~
menu_custommap.c:21:29: note: (near initialization for 'custommap_menu[49]')
menu_custommap.c:21:42: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   21 |      "10", MNU_DYNAMICTEXT, getcmapname, 10,
      |                                          ^~
menu_custommap.c:21:42: note: (near initialization for 'custommap_menu[50]')
menu_custommap.c:24:31: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   24 | uchar *badlevel_menu[MAXM] = {(4*8),90,  255, NULL, NULL, NULL, NULL,
      |                               ^
menu_custommap.c:24:31: note: (near initialization for 'badlevel_menu[0]')
menu_custommap.c:24:37: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   24 | uchar *badlevel_menu[MAXM] = {(4*8),90,  255, NULL, NULL, NULL, NULL,
      |                                     ^~
menu_custommap.c:24:37: note: (near initialization for 'badlevel_menu[1]')
menu_custommap.c:24:42: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   24 | uchar *badlevel_menu[MAXM] = {(4*8),90,  255, NULL, NULL, NULL, NULL,
      |                                          ^~~
menu_custommap.c:24:42: note: (near initialization for 'badlevel_menu[2]')
menu_custommap.c:25:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   25 |      "I don't know how to open", MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
menu_custommap.c:25:6: note: (near initialization for 'badlevel_menu[7]')
menu_custommap.c:26:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   26 |      "this file!", MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~~~~
menu_custommap.c:26:6: note: (near initialization for 'badlevel_menu[11]')
menu_custommap.c:27:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   27 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
menu_custommap.c:27:6: note: (near initialization for 'badlevel_menu[15]')
menu_custommap.c:28:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   28 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
menu_custommap.c:28:6: note: (near initialization for 'badlevel_menu[19]')
menu_custommap.c:29:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   29 |      "Ok", MNU_SWITCHMENU, custommap_menu, 0,
      |      ^~~~
menu_custommap.c:29:6: note: (near initialization for 'badlevel_menu[23]')
In file included from menu_custommap.c:3:
menu.h:60:25: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menu_custommap.c:29:12: note: in expansion of macro 'MNU_SWITCHMENU'
   29 |      "Ok", MNU_SWITCHMENU, custommap_menu, 0,
      |            ^~~~~~~~~~~~~~
menu.h:60:25: note: (near initialization for 'badlevel_menu[24]')
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menu_custommap.c:29:12: note: in expansion of macro 'MNU_SWITCHMENU'
   29 |      "Ok", MNU_SWITCHMENU, custommap_menu, 0,
      |            ^~~~~~~~~~~~~~
menu_custommap.c:29:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'unsigned char **' [-Wincompatible-pointer-types]
   29 |      "Ok", MNU_SWITCHMENU, custommap_menu, 0,
      |                            ^~~~~~~~~~~~~~
menu_custommap.c:29:28: note: (near initialization for 'badlevel_menu[25]')
menu_custommap.c: In function 'cmap_exit':
menu_custommap.c:49:17: warning: passing argument 1 of 'Menu_InitMenu' from incompatible pointer type [-Wincompatible-pointer-types]
   49 |   Menu_InitMenu(selectep_menu);
      |                 ^~~~~~~~~~~~~
      |                 |
      |                 unsigned char **
In file included from menu_custommap.c:2:
menu_custommap.fdh:19:27: note: expected 'unsigned char *' but argument is of type 'unsigned char **'
   19 | void Menu_InitMenu(uchar *whichmenu);
menu_custommap.c: In function 'editor_loadmap_exit':
menu_custommap.c:59:17: warning: passing argument 1 of 'Menu_InitMenu' from incompatible pointer type [-Wincompatible-pointer-types]
   59 |   Menu_InitMenu(main_menu);
      |                 ^~~~~~~~~
      |                 |
      |                 unsigned char **
In file included from menu_custommap.c:2:
menu_custommap.fdh:19:27: note: expected 'unsigned char *' but argument is of type 'unsigned char **'
   19 | void Menu_InitMenu(uchar *whichmenu);
menu_custommap.c: In function 'getcmapname':
menu_custommap.c:106:8: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
  106 |  fname = GetFileAtIndex(cm_scrolloffset + i);
      |        ^
menu_custommap.c:142:22: warning: passing argument 1 of 'Menu_InitMenu' from incompatible pointer type [-Wincompatible-pointer-types]
  142 |        Menu_InitMenu(cant_play_usermap_menu);
      |                      ^~~~~~~~~~~~~~~~~~~~~~
      |                      |
      |                      unsigned char **
In file included from menu_custommap.c:2:
menu_custommap.fdh:19:27: note: expected 'unsigned char *' but argument is of type 'unsigned char **'
   19 | void Menu_InitMenu(uchar *whichmenu);
menu_custommap.c:174:20: warning: passing argument 1 of 'Menu_InitMenu' from incompatible pointer type [-Wincompatible-pointer-types]
  174 |      Menu_InitMenu(&badlevel_menu);
      |                    ^~~~~~~~~~~~~~
      |                    |
      |                    unsigned char * (*)[150]
In file included from menu_custommap.c:2:
menu_custommap.fdh:19:27: note: expected 'unsigned char *' but argument is of type 'unsigned char * (*)[150]'
   19 | void Menu_InitMenu(uchar *whichmenu);
menu_custommap.c:176:20: warning: passing argument 1 of 'Menu_InitMenu' from incompatible pointer type [-Wincompatible-pointer-types]
  176 |      Menu_InitMenu(&edbadlevel_menu);
      |                    ^~~~~~~~~~~~~~~~
      |                    |
      |                    unsigned char * (*)[150]
In file included from menu_custommap.c:2:
menu_custommap.fdh:19:27: note: expected 'unsigned char *' but argument is of type 'unsigned char * (*)[150]'
   19 | void Menu_InitMenu(uchar *whichmenu);
In file included from menu.h:92,
                 from menu_custommap.c:3:
menu_custommap.c: At top level:
menumanager.fdh:36:13: warning: 'SelectCorrectMM' declared 'static' but never defined [-Wunused-function]
   36 | void static SelectCorrectMM(void);
      |             ^~~~~~~~~~~~~~~
menumanager.fdh:37:13: warning: 'DrawMenuText' declared 'static' but never defined [-Wunused-function]
   37 | void static DrawMenuText(void);
      |             ^~~~~~~~~~~~
menumanager.fdh:42:13: warning: 'DrawLogo' declared 'static' but never defined [-Wunused-function]
   42 | void static DrawLogo(void);
      |             ^~~~~~~~
menumanager.fdh:45:13: warning: 'move_down' declared 'static' but never defined [-Wunused-function]
   45 | void static move_down(void);
      |             ^~~~~~~~~
menumanager.fdh:46:13: warning: 'move_up' declared 'static' but never defined [-Wunused-function]
   46 | void static move_up(void);
      |             ^~~~~~~
menumanager.fdh:49:13: warning: 'goto_epmenu' declared 'static' but never defined [-Wunused-function]
   49 | char static goto_epmenu(int numplayers);
      |             ^~~~~~~~~~~
menumanager.fdh:50:13: warning: 'mmhandler_newgame' declared 'static' but never defined [-Wunused-function]
   50 | char static mmhandler_newgame(int episode);
      |             ^~~~~~~~~~~~~~~~~
menumanager.fdh:51:13: warning: 'mmhandler_endgame' declared 'static' but never defined [-Wunused-function]
   51 | char static mmhandler_endgame(int dummy);
      |             ^~~~~~~~~~~~~~~~~
menumanager.fdh:52:13: warning: 'mmhandler_restartlevel' declared 'static' but never defined [-Wunused-function]
   52 | char static mmhandler_restartlevel(int dummy);
      |             ^~~~~~~~~~~~~~~~~~~~~~
menumanager.fdh:53:13: warning: 'mmhandler_quit' declared 'static' but never defined [-Wunused-function]
   53 | char static mmhandler_quit(int dummy);
      |             ^~~~~~~~~~~~~~
menumanager.fdh:54:13: warning: 'mmhandler_quit2' declared 'static' but never defined [-Wunused-function]
   54 | char static mmhandler_quit2(int dummy);
      |             ^~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c editor/menu_editor.c -o editor/menu_editor.o
editor/menu_editor.c:23:34: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   23 | uchar *editor_misc_menu[MAXM] = {64,72,  0, NULL, NULL, NULL, NULL,
      |                                  ^~
editor/menu_editor.c:23:34: note: (near initialization for 'editor_misc_menu[0]')
editor/menu_editor.c:23:37: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   23 | uchar *editor_misc_menu[MAXM] = {64,72,  0, NULL, NULL, NULL, NULL,
      |                                     ^~
editor/menu_editor.c:23:37: note: (near initialization for 'editor_misc_menu[1]')
editor/menu_editor.c:24:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   24 |      "Set Time Limit", MNU_CALLFP, me_timelimit, 0,
      |      ^~~~~~~~~~~~~~~~
editor/menu_editor.c:24:6: note: (near initialization for 'editor_misc_menu[7]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:61:22: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
editor/menu_editor.c:24:24: note: in expansion of macro 'MNU_CALLFP'
   24 |      "Set Time Limit", MNU_CALLFP, me_timelimit, 0,
      |                        ^~~~~~~~~~
editor/../menu.h:61:22: note: (near initialization for 'editor_misc_menu[8]')
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
editor/menu_editor.c:24:24: note: in expansion of macro 'MNU_CALLFP'
   24 |      "Set Time Limit", MNU_CALLFP, me_timelimit, 0,
      |                        ^~~~~~~~~~
editor/menu_editor.c:24:36: warning: initialization of 'unsigned char *' from incompatible pointer type 'char (*)(int)' [-Wincompatible-pointer-types]
   24 |      "Set Time Limit", MNU_CALLFP, me_timelimit, 0,
      |                                    ^~~~~~~~~~~~
editor/menu_editor.c:24:36: note: (near initialization for 'editor_misc_menu[9]')
editor/menu_editor.c:25:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   25 |      "  Game Over on Time Out", MNU_DYNAMICTEXT, SetGameOverOnTimeOut, 0,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
editor/menu_editor.c:25:6: note: (near initialization for 'editor_misc_menu[11]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:25:33: note: in expansion of macro 'MNU_DYNAMICTEXT'
   25 |      "  Game Over on Time Out", MNU_DYNAMICTEXT, SetGameOverOnTimeOut, 0,
      |                                 ^~~~~~~~~~~~~~~
editor/../menu.h:62:26: note: (near initialization for 'editor_misc_menu[12]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:25:33: note: in expansion of macro 'MNU_DYNAMICTEXT'
   25 |      "  Game Over on Time Out", MNU_DYNAMICTEXT, SetGameOverOnTimeOut, 0,
      |                                 ^~~~~~~~~~~~~~~
editor/menu_editor.c:25:50: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   25 |      "  Game Over on Time Out", MNU_DYNAMICTEXT, SetGameOverOnTimeOut, 0,
      |                                                  ^~~~~~~~~~~~~~~~~~~~
editor/menu_editor.c:25:50: note: (near initialization for 'editor_misc_menu[13]')
editor/menu_editor.c:26:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   26 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_HARD,
      |      ^~
editor/menu_editor.c:26:6: note: (near initialization for 'editor_misc_menu[15]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:26:10: note: in expansion of macro 'MNU_DYNAMICTEXT'
   26 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_HARD,
      |          ^~~~~~~~~~~~~~~
editor/../menu.h:62:26: note: (near initialization for 'editor_misc_menu[16]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:26:10: note: in expansion of macro 'MNU_DYNAMICTEXT'
   26 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_HARD,
      |          ^~~~~~~~~~~~~~~
editor/menu_editor.c:26:27: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   26 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_HARD,
      |                           ^~~~~~~~~~~~~~~
editor/menu_editor.c:26:27: note: (near initialization for 'editor_misc_menu[17]')
In file included from editor/menu_editor.c:1:
editor/../keen.h:283:33: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  283 | #define OPT_HARD                4  // 1=increase difficulty
      |                                 ^
editor/menu_editor.c:26:44: note: in expansion of macro 'OPT_HARD'
   26 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_HARD,
      |                                            ^~~~~~~~
editor/../keen.h:283:33: note: (near initialization for 'editor_misc_menu[18]')
  283 | #define OPT_HARD                4  // 1=increase difficulty
      |                                 ^
editor/menu_editor.c:26:44: note: in expansion of macro 'OPT_HARD'
   26 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_HARD,
      |                                            ^~~~~~~~
editor/menu_editor.c:27:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   27 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_MUSTKILLYORPS,
      |      ^~
editor/menu_editor.c:27:6: note: (near initialization for 'editor_misc_menu[19]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:27:10: note: in expansion of macro 'MNU_DYNAMICTEXT'
   27 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_MUSTKILLYORPS,
      |          ^~~~~~~~~~~~~~~
editor/../menu.h:62:26: note: (near initialization for 'editor_misc_menu[20]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:27:10: note: in expansion of macro 'MNU_DYNAMICTEXT'
   27 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_MUSTKILLYORPS,
      |          ^~~~~~~~~~~~~~~
editor/menu_editor.c:27:27: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   27 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_MUSTKILLYORPS,
      |                           ^~~~~~~~~~~~~~~
editor/menu_editor.c:27:27: note: (near initialization for 'editor_misc_menu[21]')
In file included from editor/menu_editor.c:1:
editor/../keen.h:289:28: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  289 | #define OPT_MUSTKILLYORPS  10  // 1=must kill yorps to leave level
      |                            ^~
editor/menu_editor.c:27:44: note: in expansion of macro 'OPT_MUSTKILLYORPS'
   27 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_MUSTKILLYORPS,
      |                                            ^~~~~~~~~~~~~~~~~
editor/../keen.h:289:28: note: (near initialization for 'editor_misc_menu[22]')
  289 | #define OPT_MUSTKILLYORPS  10  // 1=must kill yorps to leave level
      |                            ^~
editor/menu_editor.c:27:44: note: in expansion of macro 'OPT_MUSTKILLYORPS'
   27 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_MUSTKILLYORPS,
      |                                            ^~~~~~~~~~~~~~~~~
editor/menu_editor.c:28:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   28 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_YORPFORCEFIELDS,
      |      ^~
editor/menu_editor.c:28:6: note: (near initialization for 'editor_misc_menu[23]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:28:10: note: in expansion of macro 'MNU_DYNAMICTEXT'
   28 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_YORPFORCEFIELDS,
      |          ^~~~~~~~~~~~~~~
editor/../menu.h:62:26: note: (near initialization for 'editor_misc_menu[24]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:28:10: note: in expansion of macro 'MNU_DYNAMICTEXT'
   28 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_YORPFORCEFIELDS,
      |          ^~~~~~~~~~~~~~~
editor/menu_editor.c:28:27: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   28 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_YORPFORCEFIELDS,
      |                           ^~~~~~~~~~~~~~~
editor/menu_editor.c:28:27: note: (near initialization for 'editor_misc_menu[25]')
In file included from editor/menu_editor.c:1:
editor/../keen.h:290:30: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  290 | #define OPT_YORPFORCEFIELDS  11  // 1=must stun yorps to kill them
      |                              ^~
editor/menu_editor.c:28:44: note: in expansion of macro 'OPT_YORPFORCEFIELDS'
   28 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_YORPFORCEFIELDS,
      |                                            ^~~~~~~~~~~~~~~~~~~
editor/../keen.h:290:30: note: (near initialization for 'editor_misc_menu[26]')
  290 | #define OPT_YORPFORCEFIELDS  11  // 1=must stun yorps to kill them
      |                              ^~
editor/menu_editor.c:28:44: note: in expansion of macro 'OPT_YORPFORCEFIELDS'
   28 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_YORPFORCEFIELDS,
      |                                            ^~~~~~~~~~~~~~~~~~~
editor/menu_editor.c:29:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   29 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_FULLYAUTOMATIC,
      |      ^~
editor/menu_editor.c:29:6: note: (near initialization for 'editor_misc_menu[27]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:29:10: note: in expansion of macro 'MNU_DYNAMICTEXT'
   29 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_FULLYAUTOMATIC,
      |          ^~~~~~~~~~~~~~~
editor/../menu.h:62:26: note: (near initialization for 'editor_misc_menu[28]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:29:10: note: in expansion of macro 'MNU_DYNAMICTEXT'
   29 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_FULLYAUTOMATIC,
      |          ^~~~~~~~~~~~~~~
editor/menu_editor.c:29:27: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   29 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_FULLYAUTOMATIC,
      |                           ^~~~~~~~~~~~~~~
editor/menu_editor.c:29:27: note: (near initialization for 'editor_misc_menu[29]')
In file included from editor/menu_editor.c:1:
editor/../keen.h:281:33: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  281 | #define OPT_FULLYAUTOMATIC      2  // 1=fully automatic raygun
      |                                 ^
editor/menu_editor.c:29:44: note: in expansion of macro 'OPT_FULLYAUTOMATIC'
   29 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_FULLYAUTOMATIC,
      |                                            ^~~~~~~~~~~~~~~~~~
editor/../keen.h:281:33: note: (near initialization for 'editor_misc_menu[30]')
  281 | #define OPT_FULLYAUTOMATIC      2  // 1=fully automatic raygun
      |                                 ^
editor/menu_editor.c:29:44: note: in expansion of macro 'OPT_FULLYAUTOMATIC'
   29 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_FULLYAUTOMATIC,
      |                                            ^~~~~~~~~~~~~~~~~~
editor/menu_editor.c:30:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   30 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_SUPERPOGO,
      |      ^~
editor/menu_editor.c:30:6: note: (near initialization for 'editor_misc_menu[31]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:30:10: note: in expansion of macro 'MNU_DYNAMICTEXT'
   30 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_SUPERPOGO,
      |          ^~~~~~~~~~~~~~~
editor/../menu.h:62:26: note: (near initialization for 'editor_misc_menu[32]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:30:10: note: in expansion of macro 'MNU_DYNAMICTEXT'
   30 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_SUPERPOGO,
      |          ^~~~~~~~~~~~~~~
editor/menu_editor.c:30:27: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   30 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_SUPERPOGO,
      |                           ^~~~~~~~~~~~~~~
editor/menu_editor.c:30:27: note: (near initialization for 'editor_misc_menu[33]')
In file included from editor/menu_editor.c:1:
editor/../keen.h:282:33: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  282 | #define OPT_SUPERPOGO           3  // 1=pogo jumps really high
      |                                 ^
editor/menu_editor.c:30:44: note: in expansion of macro 'OPT_SUPERPOGO'
   30 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_SUPERPOGO,
      |                                            ^~~~~~~~~~~~~
editor/../keen.h:282:33: note: (near initialization for 'editor_misc_menu[34]')
  282 | #define OPT_SUPERPOGO           3  // 1=pogo jumps really high
      |                                 ^
editor/menu_editor.c:30:44: note: in expansion of macro 'OPT_SUPERPOGO'
   30 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_SUPERPOGO,
      |                                            ^~~~~~~~~~~~~
editor/menu_editor.c:31:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   31 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_DOORSBLOCKRAY,
      |      ^~
editor/menu_editor.c:31:6: note: (near initialization for 'editor_misc_menu[35]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:31:10: note: in expansion of macro 'MNU_DYNAMICTEXT'
   31 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_DOORSBLOCKRAY,
      |          ^~~~~~~~~~~~~~~
editor/../menu.h:62:26: note: (near initialization for 'editor_misc_menu[36]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:31:10: note: in expansion of macro 'MNU_DYNAMICTEXT'
   31 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_DOORSBLOCKRAY,
      |          ^~~~~~~~~~~~~~~
editor/menu_editor.c:31:27: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   31 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_DOORSBLOCKRAY,
      |                           ^~~~~~~~~~~~~~~
editor/menu_editor.c:31:27: note: (near initialization for 'editor_misc_menu[37]')
In file included from editor/menu_editor.c:1:
editor/../keen.h:295:28: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  295 | #define OPT_DOORSBLOCKRAY  16  // 1=can't shoot through locked doors
      |                            ^~
editor/menu_editor.c:31:44: note: in expansion of macro 'OPT_DOORSBLOCKRAY'
   31 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_DOORSBLOCKRAY,
      |                                            ^~~~~~~~~~~~~~~~~
editor/../keen.h:295:28: note: (near initialization for 'editor_misc_menu[38]')
  295 | #define OPT_DOORSBLOCKRAY  16  // 1=can't shoot through locked doors
      |                            ^~
editor/menu_editor.c:31:44: note: in expansion of macro 'OPT_DOORSBLOCKRAY'
   31 |      "", MNU_DYNAMICTEXT, SetForcedOption, OPT_DOORSBLOCKRAY,
      |                                            ^~~~~~~~~~~~~~~~~
editor/menu_editor.c:32:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   32 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
editor/menu_editor.c:32:6: note: (near initialization for 'editor_misc_menu[39]')
editor/menu_editor.c:33:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   33 |      "Add Border", MNU_CALLFP, me_addborder, 0,
      |      ^~~~~~~~~~~~
editor/menu_editor.c:33:6: note: (near initialization for 'editor_misc_menu[43]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:61:22: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
editor/menu_editor.c:33:20: note: in expansion of macro 'MNU_CALLFP'
   33 |      "Add Border", MNU_CALLFP, me_addborder, 0,
      |                    ^~~~~~~~~~
editor/../menu.h:61:22: note: (near initialization for 'editor_misc_menu[44]')
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
editor/menu_editor.c:33:20: note: in expansion of macro 'MNU_CALLFP'
   33 |      "Add Border", MNU_CALLFP, me_addborder, 0,
      |                    ^~~~~~~~~~
editor/menu_editor.c:33:32: warning: initialization of 'unsigned char *' from incompatible pointer type 'char (*)(int)' [-Wincompatible-pointer-types]
   33 |      "Add Border", MNU_CALLFP, me_addborder, 0,
      |                                ^~~~~~~~~~~~
editor/menu_editor.c:33:32: note: (near initialization for 'editor_misc_menu[45]')
editor/menu_editor.c:34:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   34 |      "[M] Set Map Size", MNU_CALLFP, me_resizemap, 0,
      |      ^~~~~~~~~~~~~~~~~~
editor/menu_editor.c:34:6: note: (near initialization for 'editor_misc_menu[47]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:61:22: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
editor/menu_editor.c:34:26: note: in expansion of macro 'MNU_CALLFP'
   34 |      "[M] Set Map Size", MNU_CALLFP, me_resizemap, 0,
      |                          ^~~~~~~~~~
editor/../menu.h:61:22: note: (near initialization for 'editor_misc_menu[48]')
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
editor/menu_editor.c:34:26: note: in expansion of macro 'MNU_CALLFP'
   34 |      "[M] Set Map Size", MNU_CALLFP, me_resizemap, 0,
      |                          ^~~~~~~~~~
editor/menu_editor.c:34:38: warning: initialization of 'unsigned char *' from incompatible pointer type 'char (*)(int)' [-Wincompatible-pointer-types]
   34 |      "[M] Set Map Size", MNU_CALLFP, me_resizemap, 0,
      |                                      ^~~~~~~~~~~~
editor/menu_editor.c:34:38: note: (near initialization for 'editor_misc_menu[49]')
editor/menu_editor.c:35:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   35 |      "  [G] Show Object Ghosting", MNU_DYNAMICTEXT, ToggleGhosting, 0,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
editor/menu_editor.c:35:6: note: (near initialization for 'editor_misc_menu[51]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:35:36: note: in expansion of macro 'MNU_DYNAMICTEXT'
   35 |      "  [G] Show Object Ghosting", MNU_DYNAMICTEXT, ToggleGhosting, 0,
      |                                    ^~~~~~~~~~~~~~~
editor/../menu.h:62:26: note: (near initialization for 'editor_misc_menu[52]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:35:36: note: in expansion of macro 'MNU_DYNAMICTEXT'
   35 |      "  [G] Show Object Ghosting", MNU_DYNAMICTEXT, ToggleGhosting, 0,
      |                                    ^~~~~~~~~~~~~~~
editor/menu_editor.c:35:53: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   35 |      "  [G] Show Object Ghosting", MNU_DYNAMICTEXT, ToggleGhosting, 0,
      |                                                     ^~~~~~~~~~~~~~
editor/menu_editor.c:35:53: note: (near initialization for 'editor_misc_menu[53]')
editor/menu_editor.c:36:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   36 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
editor/menu_editor.c:36:6: note: (near initialization for 'editor_misc_menu[55]')
editor/menu_editor.c:37:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   37 |      "<< Back", MNU_SWITCHMENU, editor_menu, 0,
      |      ^~~~~~~~~
editor/menu_editor.c:37:6: note: (near initialization for 'editor_misc_menu[59]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:60:25: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
editor/menu_editor.c:37:17: note: in expansion of macro 'MNU_SWITCHMENU'
   37 |      "<< Back", MNU_SWITCHMENU, editor_menu, 0,
      |                 ^~~~~~~~~~~~~~
editor/../menu.h:60:25: note: (near initialization for 'editor_misc_menu[60]')
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
editor/menu_editor.c:37:17: note: in expansion of macro 'MNU_SWITCHMENU'
   37 |      "<< Back", MNU_SWITCHMENU, editor_menu, 0,
      |                 ^~~~~~~~~~~~~~
editor/menu_editor.c:37:33: warning: initialization of 'unsigned char *' from incompatible pointer type 'unsigned char **' [-Wincompatible-pointer-types]
   37 |      "<< Back", MNU_SWITCHMENU, editor_menu, 0,
      |                                 ^~~~~~~~~~~
editor/menu_editor.c:37:33: note: (near initialization for 'editor_misc_menu[61]')
editor/menu_editor.c:41:29: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   41 | uchar *editor_menu[MAXM] = {75+8,61,  0, NULL, NULL, NULL, NULL,
      |                             ^~
editor/menu_editor.c:41:29: note: (near initialization for 'editor_menu[0]')
editor/menu_editor.c:41:34: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   41 | uchar *editor_menu[MAXM] = {75+8,61,  0, NULL, NULL, NULL, NULL,
      |                                  ^~
editor/menu_editor.c:41:34: note: (near initialization for 'editor_menu[1]')
editor/menu_editor.c:42:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   42 |      "[z]  Run/Stop", MNU_CALLFP, me_togglerunstop, 0,
      |      ^~~~~~~~~~~~~~~
editor/menu_editor.c:42:6: note: (near initialization for 'editor_menu[7]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:61:22: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
editor/menu_editor.c:42:23: note: in expansion of macro 'MNU_CALLFP'
   42 |      "[z]  Run/Stop", MNU_CALLFP, me_togglerunstop, 0,
      |                       ^~~~~~~~~~
editor/../menu.h:61:22: note: (near initialization for 'editor_menu[8]')
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
editor/menu_editor.c:42:23: note: in expansion of macro 'MNU_CALLFP'
   42 |      "[z]  Run/Stop", MNU_CALLFP, me_togglerunstop, 0,
      |                       ^~~~~~~~~~
editor/menu_editor.c:42:35: warning: initialization of 'unsigned char *' from incompatible pointer type 'char (*)(int)' [-Wincompatible-pointer-types]
   42 |      "[z]  Run/Stop", MNU_CALLFP, me_togglerunstop, 0,
      |                                   ^~~~~~~~~~~~~~~~
editor/menu_editor.c:42:35: note: (near initialization for 'editor_menu[9]')
editor/menu_editor.c:43:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   43 |      "[x]  Reset", MNU_CALLFP, me_resetmap, 0,
      |      ^~~~~~~~~~~~
editor/menu_editor.c:43:6: note: (near initialization for 'editor_menu[11]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:61:22: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
editor/menu_editor.c:43:20: note: in expansion of macro 'MNU_CALLFP'
   43 |      "[x]  Reset", MNU_CALLFP, me_resetmap, 0,
      |                    ^~~~~~~~~~
editor/../menu.h:61:22: note: (near initialization for 'editor_menu[12]')
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
editor/menu_editor.c:43:20: note: in expansion of macro 'MNU_CALLFP'
   43 |      "[x]  Reset", MNU_CALLFP, me_resetmap, 0,
      |                    ^~~~~~~~~~
editor/menu_editor.c:43:32: warning: initialization of 'unsigned char *' from incompatible pointer type 'char (*)(int)' [-Wincompatible-pointer-types]
   43 |      "[x]  Reset", MNU_CALLFP, me_resetmap, 0,
      |                                ^~~~~~~~~~~
editor/menu_editor.c:43:32: note: (near initialization for 'editor_menu[13]')
editor/menu_editor.c:44:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   44 |      "     Clear Map", MNU_SWITCHMENU, edverifyclear_menu, 0,
      |      ^~~~~~~~~~~~~~~~
editor/menu_editor.c:44:6: note: (near initialization for 'editor_menu[15]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:60:25: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
editor/menu_editor.c:44:24: note: in expansion of macro 'MNU_SWITCHMENU'
   44 |      "     Clear Map", MNU_SWITCHMENU, edverifyclear_menu, 0,
      |                        ^~~~~~~~~~~~~~
editor/../menu.h:60:25: note: (near initialization for 'editor_menu[16]')
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
editor/menu_editor.c:44:24: note: in expansion of macro 'MNU_SWITCHMENU'
   44 |      "     Clear Map", MNU_SWITCHMENU, edverifyclear_menu, 0,
      |                        ^~~~~~~~~~~~~~
editor/menu_editor.c:44:40: warning: initialization of 'unsigned char *' from incompatible pointer type 'unsigned char **' [-Wincompatible-pointer-types]
   44 |      "     Clear Map", MNU_SWITCHMENU, edverifyclear_menu, 0,
      |                                        ^~~~~~~~~~~~~~~~~~
editor/menu_editor.c:44:40: note: (near initialization for 'editor_menu[17]')
editor/menu_editor.c:45:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   45 |      "[e]  Change Episode", MNU_CALLFP, me_nextep, 0,
      |      ^~~~~~~~~~~~~~~~~~~~~
editor/menu_editor.c:45:6: note: (near initialization for 'editor_menu[19]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:61:22: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
editor/menu_editor.c:45:29: note: in expansion of macro 'MNU_CALLFP'
   45 |      "[e]  Change Episode", MNU_CALLFP, me_nextep, 0,
      |                             ^~~~~~~~~~
editor/../menu.h:61:22: note: (near initialization for 'editor_menu[20]')
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
editor/menu_editor.c:45:29: note: in expansion of macro 'MNU_CALLFP'
   45 |      "[e]  Change Episode", MNU_CALLFP, me_nextep, 0,
      |                             ^~~~~~~~~~
editor/menu_editor.c:45:41: warning: initialization of 'unsigned char *' from incompatible pointer type 'char (*)(int)' [-Wincompatible-pointer-types]
   45 |      "[e]  Change Episode", MNU_CALLFP, me_nextep, 0,
      |                                         ^~~~~~~~~
editor/menu_editor.c:45:41: note: (near initialization for 'editor_menu[21]')
editor/menu_editor.c:46:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   46 |      "[F1] Save", MNU_CALLFP, me_save, 0,
      |      ^~~~~~~~~~~
editor/menu_editor.c:46:6: note: (near initialization for 'editor_menu[23]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:61:22: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
editor/menu_editor.c:46:19: note: in expansion of macro 'MNU_CALLFP'
   46 |      "[F1] Save", MNU_CALLFP, me_save, 0,
      |                   ^~~~~~~~~~
editor/../menu.h:61:22: note: (near initialization for 'editor_menu[24]')
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
editor/menu_editor.c:46:19: note: in expansion of macro 'MNU_CALLFP'
   46 |      "[F1] Save", MNU_CALLFP, me_save, 0,
      |                   ^~~~~~~~~~
editor/menu_editor.c:46:31: warning: initialization of 'unsigned char *' from incompatible pointer type 'char (*)(int)' [-Wincompatible-pointer-types]
   46 |      "[F1] Save", MNU_CALLFP, me_save, 0,
      |                               ^~~~~~~
editor/menu_editor.c:46:31: note: (near initialization for 'editor_menu[25]')
editor/menu_editor.c:47:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   47 |      "[F2] Save As...", MNU_CALLFP, me_saveas, 0,
      |      ^~~~~~~~~~~~~~~~~
editor/menu_editor.c:47:6: note: (near initialization for 'editor_menu[27]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:61:22: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
editor/menu_editor.c:47:25: note: in expansion of macro 'MNU_CALLFP'
   47 |      "[F2] Save As...", MNU_CALLFP, me_saveas, 0,
      |                         ^~~~~~~~~~
editor/../menu.h:61:22: note: (near initialization for 'editor_menu[28]')
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
editor/menu_editor.c:47:25: note: in expansion of macro 'MNU_CALLFP'
   47 |      "[F2] Save As...", MNU_CALLFP, me_saveas, 0,
      |                         ^~~~~~~~~~
editor/menu_editor.c:47:37: warning: initialization of 'unsigned char *' from incompatible pointer type 'char (*)(int)' [-Wincompatible-pointer-types]
   47 |      "[F2] Save As...", MNU_CALLFP, me_saveas, 0,
      |                                     ^~~~~~~~~
editor/menu_editor.c:47:37: note: (near initialization for 'editor_menu[29]')
editor/menu_editor.c:48:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   48 |      "Misc", MNU_SWITCHMENU, editor_misc_menu, 0,
      |      ^~~~~~
editor/menu_editor.c:48:6: note: (near initialization for 'editor_menu[31]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:60:25: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
editor/menu_editor.c:48:14: note: in expansion of macro 'MNU_SWITCHMENU'
   48 |      "Misc", MNU_SWITCHMENU, editor_misc_menu, 0,
      |              ^~~~~~~~~~~~~~
editor/../menu.h:60:25: note: (near initialization for 'editor_menu[32]')
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
editor/menu_editor.c:48:14: note: in expansion of macro 'MNU_SWITCHMENU'
   48 |      "Misc", MNU_SWITCHMENU, editor_misc_menu, 0,
      |              ^~~~~~~~~~~~~~
editor/menu_editor.c:48:30: warning: initialization of 'unsigned char *' from incompatible pointer type 'unsigned char **' [-Wincompatible-pointer-types]
   48 |      "Misc", MNU_SWITCHMENU, editor_misc_menu, 0,
      |                              ^~~~~~~~~~~~~~~~
editor/menu_editor.c:48:30: note: (near initialization for 'editor_menu[33]')
editor/menu_editor.c:49:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   49 |      "Forced Game Options", MNU_SWITCHMENU, option_menu, 0,
      |      ^~~~~~~~~~~~~~~~~~~~~
editor/menu_editor.c:49:6: note: (near initialization for 'editor_menu[35]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:60:25: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
editor/menu_editor.c:49:29: note: in expansion of macro 'MNU_SWITCHMENU'
   49 |      "Forced Game Options", MNU_SWITCHMENU, option_menu, 0,
      |                             ^~~~~~~~~~~~~~
editor/../menu.h:60:25: note: (near initialization for 'editor_menu[36]')
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
editor/menu_editor.c:49:29: note: in expansion of macro 'MNU_SWITCHMENU'
   49 |      "Forced Game Options", MNU_SWITCHMENU, option_menu, 0,
      |                             ^~~~~~~~~~~~~~
editor/menu_editor.c:49:45: warning: initialization of 'unsigned char *' from incompatible pointer type 'unsigned char **' [-Wincompatible-pointer-types]
   49 |      "Forced Game Options", MNU_SWITCHMENU, option_menu, 0,
      |                                             ^~~~~~~~~~~
editor/menu_editor.c:49:45: note: (near initialization for 'editor_menu[37]')
editor/menu_editor.c:50:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   50 |      "Load Map", MNU_SWITCHMENU, edloadmap_menu, 0,
      |      ^~~~~~~~~~
editor/menu_editor.c:50:6: note: (near initialization for 'editor_menu[39]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:60:25: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
editor/menu_editor.c:50:18: note: in expansion of macro 'MNU_SWITCHMENU'
   50 |      "Load Map", MNU_SWITCHMENU, edloadmap_menu, 0,
      |                  ^~~~~~~~~~~~~~
editor/../menu.h:60:25: note: (near initialization for 'editor_menu[40]')
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
editor/menu_editor.c:50:18: note: in expansion of macro 'MNU_SWITCHMENU'
   50 |      "Load Map", MNU_SWITCHMENU, edloadmap_menu, 0,
      |                  ^~~~~~~~~~~~~~
editor/menu_editor.c:50:34: warning: initialization of 'unsigned char *' from incompatible pointer type 'unsigned char **' [-Wincompatible-pointer-types]
   50 |      "Load Map", MNU_SWITCHMENU, edloadmap_menu, 0,
      |                                  ^~~~~~~~~~~~~~
editor/menu_editor.c:50:34: note: (near initialization for 'editor_menu[41]')
editor/menu_editor.c:51:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   51 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
editor/menu_editor.c:51:6: note: (near initialization for 'editor_menu[43]')
editor/menu_editor.c:52:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   52 |      "Exit Editor", MNU_CALLFP, me_exit_ed, 0,
      |      ^~~~~~~~~~~~~
editor/menu_editor.c:52:6: note: (near initialization for 'editor_menu[47]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:61:22: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
editor/menu_editor.c:52:21: note: in expansion of macro 'MNU_CALLFP'
   52 |      "Exit Editor", MNU_CALLFP, me_exit_ed, 0,
      |                     ^~~~~~~~~~
editor/../menu.h:61:22: note: (near initialization for 'editor_menu[48]')
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
editor/menu_editor.c:52:21: note: in expansion of macro 'MNU_CALLFP'
   52 |      "Exit Editor", MNU_CALLFP, me_exit_ed, 0,
      |                     ^~~~~~~~~~
editor/menu_editor.c:52:33: warning: initialization of 'unsigned char *' from incompatible pointer type 'char (*)(int)' [-Wincompatible-pointer-types]
   52 |      "Exit Editor", MNU_CALLFP, me_exit_ed, 0,
      |                                 ^~~~~~~~~~
editor/menu_editor.c:52:33: note: (near initialization for 'editor_menu[49]')
editor/menu_editor.c:53:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   53 |      "Exit Program", MNU_SWITCHMENU, quit_menu, 0,
      |      ^~~~~~~~~~~~~~
editor/menu_editor.c:53:6: note: (near initialization for 'editor_menu[51]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:60:25: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
editor/menu_editor.c:53:22: note: in expansion of macro 'MNU_SWITCHMENU'
   53 |      "Exit Program", MNU_SWITCHMENU, quit_menu, 0,
      |                      ^~~~~~~~~~~~~~
editor/../menu.h:60:25: note: (near initialization for 'editor_menu[52]')
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
editor/menu_editor.c:53:22: note: in expansion of macro 'MNU_SWITCHMENU'
   53 |      "Exit Program", MNU_SWITCHMENU, quit_menu, 0,
      |                      ^~~~~~~~~~~~~~
editor/menu_editor.c:53:38: warning: initialization of 'unsigned char *' from incompatible pointer type 'unsigned char **' [-Wincompatible-pointer-types]
   53 |      "Exit Program", MNU_SWITCHMENU, quit_menu, 0,
      |                                      ^~~~~~~~~
editor/menu_editor.c:53:38: note: (near initialization for 'editor_menu[53]')
editor/menu_editor.c:54:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   54 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
editor/menu_editor.c:54:6: note: (near initialization for 'editor_menu[55]')
editor/menu_editor.c:55:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   55 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
editor/menu_editor.c:55:6: note: (near initialization for 'editor_menu[59]')
editor/menu_editor.c:56:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   56 |      "q - Set Start Pos", MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~~~~~~~~~~~
editor/menu_editor.c:56:6: note: (near initialization for 'editor_menu[63]')
editor/menu_editor.c:57:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   57 |      "b, ALT+b - Block/Pat Fill", MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
editor/menu_editor.c:57:6: note: (near initialization for 'editor_menu[67]')
editor/menu_editor.c:58:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   58 |      "SHIFT - Pickup Tile", MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~~~~~~~~~~~~~
editor/menu_editor.c:58:6: note: (near initialization for 'editor_menu[71]')
editor/menu_editor.c:59:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   59 |      "W,A,S,D - Move Selector", MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
editor/menu_editor.c:59:6: note: (near initialization for 'editor_menu[75]')
editor/menu_editor.c:63:36: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   63 | uchar *edverifyclear_menu[MAXM] = {92,100,0,NULL,NULL,NULL,NULL,
      |                                    ^~
editor/menu_editor.c:63:36: note: (near initialization for 'edverifyclear_menu[0]')
editor/menu_editor.c:63:39: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   63 | uchar *edverifyclear_menu[MAXM] = {92,100,0,NULL,NULL,NULL,NULL,
      |                                       ^~~
editor/menu_editor.c:63:39: note: (near initialization for 'edverifyclear_menu[1]')
editor/menu_editor.c:64:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   64 |      "Erase Map!", MNU_CALLFP, me_newmap, 0,
      |      ^~~~~~~~~~~~
editor/menu_editor.c:64:6: note: (near initialization for 'edverifyclear_menu[7]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:61:22: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
editor/menu_editor.c:64:20: note: in expansion of macro 'MNU_CALLFP'
   64 |      "Erase Map!", MNU_CALLFP, me_newmap, 0,
      |                    ^~~~~~~~~~
editor/../menu.h:61:22: note: (near initialization for 'edverifyclear_menu[8]')
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
editor/menu_editor.c:64:20: note: in expansion of macro 'MNU_CALLFP'
   64 |      "Erase Map!", MNU_CALLFP, me_newmap, 0,
      |                    ^~~~~~~~~~
editor/menu_editor.c:64:32: warning: initialization of 'unsigned char *' from incompatible pointer type 'char (*)(int)' [-Wincompatible-pointer-types]
   64 |      "Erase Map!", MNU_CALLFP, me_newmap, 0,
      |                                ^~~~~~~~~
editor/menu_editor.c:64:32: note: (near initialization for 'edverifyclear_menu[9]')
editor/menu_editor.c:65:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   65 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
editor/menu_editor.c:65:6: note: (near initialization for 'edverifyclear_menu[11]')
editor/menu_editor.c:66:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   66 |      "Do nothing.", MNU_SWITCHMENU, editor_menu, 0,
      |      ^~~~~~~~~~~~~
editor/menu_editor.c:66:6: note: (near initialization for 'edverifyclear_menu[15]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:60:25: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
editor/menu_editor.c:66:21: note: in expansion of macro 'MNU_SWITCHMENU'
   66 |      "Do nothing.", MNU_SWITCHMENU, editor_menu, 0,
      |                     ^~~~~~~~~~~~~~
editor/../menu.h:60:25: note: (near initialization for 'edverifyclear_menu[16]')
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
editor/menu_editor.c:66:21: note: in expansion of macro 'MNU_SWITCHMENU'
   66 |      "Do nothing.", MNU_SWITCHMENU, editor_menu, 0,
      |                     ^~~~~~~~~~~~~~
editor/menu_editor.c:66:37: warning: initialization of 'unsigned char *' from incompatible pointer type 'unsigned char **' [-Wincompatible-pointer-types]
   66 |      "Do nothing.", MNU_SWITCHMENU, editor_menu, 0,
      |                                     ^~~~~~~~~~~
editor/menu_editor.c:66:37: note: (near initialization for 'edverifyclear_menu[17]')
editor/menu_editor.c:71:32: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   71 | uchar *edloadmap_menu[MAXM] = {(7*9)-3,72,  0, cmap_enter, editor_loadmap_exit, cmap_scroll, NULL,
      |                                ^
editor/menu_editor.c:71:32: note: (near initialization for 'edloadmap_menu[0]')
editor/menu_editor.c:71:40: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   71 | uchar *edloadmap_menu[MAXM] = {(7*9)-3,72,  0, cmap_enter, editor_loadmap_exit, cmap_scroll, NULL,
      |                                        ^~
editor/menu_editor.c:71:40: note: (near initialization for 'edloadmap_menu[1]')
editor/menu_editor.c:71:48: warning: initialization of 'unsigned char *' from incompatible pointer type 'void (*)(void)' [-Wincompatible-pointer-types]
   71 | uchar *edloadmap_menu[MAXM] = {(7*9)-3,72,  0, cmap_enter, editor_loadmap_exit, cmap_scroll, NULL,
      |                                                ^~~~~~~~~~
editor/menu_editor.c:71:48: note: (near initialization for 'edloadmap_menu[3]')
editor/menu_editor.c:71:60: warning: initialization of 'unsigned char *' from incompatible pointer type 'void (*)(void)' [-Wincompatible-pointer-types]
   71 | uchar *edloadmap_menu[MAXM] = {(7*9)-3,72,  0, cmap_enter, editor_loadmap_exit, cmap_scroll, NULL,
      |                                                            ^~~~~~~~~~~~~~~~~~~
editor/menu_editor.c:71:60: note: (near initialization for 'edloadmap_menu[4]')
editor/menu_editor.c:71:81: warning: initialization of 'unsigned char *' from incompatible pointer type 'void (*)(char)' [-Wincompatible-pointer-types]
   71 | uchar *edloadmap_menu[MAXM] = {(7*9)-3,72,  0, cmap_enter, editor_loadmap_exit, cmap_scroll, NULL,
      |                                                                                 ^~~~~~~~~~~
editor/menu_editor.c:71:81: note: (near initialization for 'edloadmap_menu[5]')
editor/menu_editor.c:72:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   72 |      "<New Map>", MNU_CALLFP, me_newmap, 0,
      |      ^~~~~~~~~~~
editor/menu_editor.c:72:6: note: (near initialization for 'edloadmap_menu[7]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:61:22: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
editor/menu_editor.c:72:19: note: in expansion of macro 'MNU_CALLFP'
   72 |      "<New Map>", MNU_CALLFP, me_newmap, 0,
      |                   ^~~~~~~~~~
editor/../menu.h:61:22: note: (near initialization for 'edloadmap_menu[8]')
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
editor/menu_editor.c:72:19: note: in expansion of macro 'MNU_CALLFP'
   72 |      "<New Map>", MNU_CALLFP, me_newmap, 0,
      |                   ^~~~~~~~~~
editor/menu_editor.c:72:31: warning: initialization of 'unsigned char *' from incompatible pointer type 'char (*)(int)' [-Wincompatible-pointer-types]
   72 |      "<New Map>", MNU_CALLFP, me_newmap, 0,
      |                               ^~~~~~~~~
editor/menu_editor.c:72:31: note: (near initialization for 'edloadmap_menu[9]')
editor/menu_editor.c:73:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   73 |      "0", MNU_DYNAMICTEXT, getcmapname, 100,
      |      ^~~
editor/menu_editor.c:73:6: note: (near initialization for 'edloadmap_menu[11]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:73:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   73 |      "0", MNU_DYNAMICTEXT, getcmapname, 100,
      |           ^~~~~~~~~~~~~~~
editor/../menu.h:62:26: note: (near initialization for 'edloadmap_menu[12]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:73:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   73 |      "0", MNU_DYNAMICTEXT, getcmapname, 100,
      |           ^~~~~~~~~~~~~~~
editor/menu_editor.c:73:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   73 |      "0", MNU_DYNAMICTEXT, getcmapname, 100,
      |                            ^~~~~~~~~~~
editor/menu_editor.c:73:28: note: (near initialization for 'edloadmap_menu[13]')
editor/menu_editor.c:73:41: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   73 |      "0", MNU_DYNAMICTEXT, getcmapname, 100,
      |                                         ^~~
editor/menu_editor.c:73:41: note: (near initialization for 'edloadmap_menu[14]')
editor/menu_editor.c:74:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   74 |      "1", MNU_DYNAMICTEXT, getcmapname, 101,
      |      ^~~
editor/menu_editor.c:74:6: note: (near initialization for 'edloadmap_menu[15]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:74:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   74 |      "1", MNU_DYNAMICTEXT, getcmapname, 101,
      |           ^~~~~~~~~~~~~~~
editor/../menu.h:62:26: note: (near initialization for 'edloadmap_menu[16]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:74:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   74 |      "1", MNU_DYNAMICTEXT, getcmapname, 101,
      |           ^~~~~~~~~~~~~~~
editor/menu_editor.c:74:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   74 |      "1", MNU_DYNAMICTEXT, getcmapname, 101,
      |                            ^~~~~~~~~~~
editor/menu_editor.c:74:28: note: (near initialization for 'edloadmap_menu[17]')
editor/menu_editor.c:74:41: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   74 |      "1", MNU_DYNAMICTEXT, getcmapname, 101,
      |                                         ^~~
editor/menu_editor.c:74:41: note: (near initialization for 'edloadmap_menu[18]')
editor/menu_editor.c:75:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   75 |      "2", MNU_DYNAMICTEXT, getcmapname, 102,
      |      ^~~
editor/menu_editor.c:75:6: note: (near initialization for 'edloadmap_menu[19]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:75:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   75 |      "2", MNU_DYNAMICTEXT, getcmapname, 102,
      |           ^~~~~~~~~~~~~~~
editor/../menu.h:62:26: note: (near initialization for 'edloadmap_menu[20]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:75:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   75 |      "2", MNU_DYNAMICTEXT, getcmapname, 102,
      |           ^~~~~~~~~~~~~~~
editor/menu_editor.c:75:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   75 |      "2", MNU_DYNAMICTEXT, getcmapname, 102,
      |                            ^~~~~~~~~~~
editor/menu_editor.c:75:28: note: (near initialization for 'edloadmap_menu[21]')
editor/menu_editor.c:75:41: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   75 |      "2", MNU_DYNAMICTEXT, getcmapname, 102,
      |                                         ^~~
editor/menu_editor.c:75:41: note: (near initialization for 'edloadmap_menu[22]')
editor/menu_editor.c:76:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   76 |      "3", MNU_DYNAMICTEXT, getcmapname, 103,
      |      ^~~
editor/menu_editor.c:76:6: note: (near initialization for 'edloadmap_menu[23]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:76:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   76 |      "3", MNU_DYNAMICTEXT, getcmapname, 103,
      |           ^~~~~~~~~~~~~~~
editor/../menu.h:62:26: note: (near initialization for 'edloadmap_menu[24]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:76:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   76 |      "3", MNU_DYNAMICTEXT, getcmapname, 103,
      |           ^~~~~~~~~~~~~~~
editor/menu_editor.c:76:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   76 |      "3", MNU_DYNAMICTEXT, getcmapname, 103,
      |                            ^~~~~~~~~~~
editor/menu_editor.c:76:28: note: (near initialization for 'edloadmap_menu[25]')
editor/menu_editor.c:76:41: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   76 |      "3", MNU_DYNAMICTEXT, getcmapname, 103,
      |                                         ^~~
editor/menu_editor.c:76:41: note: (near initialization for 'edloadmap_menu[26]')
editor/menu_editor.c:77:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   77 |      "4", MNU_DYNAMICTEXT, getcmapname, 104,
      |      ^~~
editor/menu_editor.c:77:6: note: (near initialization for 'edloadmap_menu[27]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:77:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   77 |      "4", MNU_DYNAMICTEXT, getcmapname, 104,
      |           ^~~~~~~~~~~~~~~
editor/../menu.h:62:26: note: (near initialization for 'edloadmap_menu[28]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:77:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   77 |      "4", MNU_DYNAMICTEXT, getcmapname, 104,
      |           ^~~~~~~~~~~~~~~
editor/menu_editor.c:77:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   77 |      "4", MNU_DYNAMICTEXT, getcmapname, 104,
      |                            ^~~~~~~~~~~
editor/menu_editor.c:77:28: note: (near initialization for 'edloadmap_menu[29]')
editor/menu_editor.c:77:41: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   77 |      "4", MNU_DYNAMICTEXT, getcmapname, 104,
      |                                         ^~~
editor/menu_editor.c:77:41: note: (near initialization for 'edloadmap_menu[30]')
editor/menu_editor.c:78:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   78 |      "5", MNU_DYNAMICTEXT, getcmapname, 105,
      |      ^~~
editor/menu_editor.c:78:6: note: (near initialization for 'edloadmap_menu[31]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:78:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   78 |      "5", MNU_DYNAMICTEXT, getcmapname, 105,
      |           ^~~~~~~~~~~~~~~
editor/../menu.h:62:26: note: (near initialization for 'edloadmap_menu[32]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:78:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   78 |      "5", MNU_DYNAMICTEXT, getcmapname, 105,
      |           ^~~~~~~~~~~~~~~
editor/menu_editor.c:78:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   78 |      "5", MNU_DYNAMICTEXT, getcmapname, 105,
      |                            ^~~~~~~~~~~
editor/menu_editor.c:78:28: note: (near initialization for 'edloadmap_menu[33]')
editor/menu_editor.c:78:41: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   78 |      "5", MNU_DYNAMICTEXT, getcmapname, 105,
      |                                         ^~~
editor/menu_editor.c:78:41: note: (near initialization for 'edloadmap_menu[34]')
editor/menu_editor.c:79:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   79 |      "6", MNU_DYNAMICTEXT, getcmapname, 106,
      |      ^~~
editor/menu_editor.c:79:6: note: (near initialization for 'edloadmap_menu[35]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:79:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   79 |      "6", MNU_DYNAMICTEXT, getcmapname, 106,
      |           ^~~~~~~~~~~~~~~
editor/../menu.h:62:26: note: (near initialization for 'edloadmap_menu[36]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:79:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   79 |      "6", MNU_DYNAMICTEXT, getcmapname, 106,
      |           ^~~~~~~~~~~~~~~
editor/menu_editor.c:79:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   79 |      "6", MNU_DYNAMICTEXT, getcmapname, 106,
      |                            ^~~~~~~~~~~
editor/menu_editor.c:79:28: note: (near initialization for 'edloadmap_menu[37]')
editor/menu_editor.c:79:41: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   79 |      "6", MNU_DYNAMICTEXT, getcmapname, 106,
      |                                         ^~~
editor/menu_editor.c:79:41: note: (near initialization for 'edloadmap_menu[38]')
editor/menu_editor.c:80:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   80 |      "7", MNU_DYNAMICTEXT, getcmapname, 107,
      |      ^~~
editor/menu_editor.c:80:6: note: (near initialization for 'edloadmap_menu[39]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:80:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   80 |      "7", MNU_DYNAMICTEXT, getcmapname, 107,
      |           ^~~~~~~~~~~~~~~
editor/../menu.h:62:26: note: (near initialization for 'edloadmap_menu[40]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:80:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   80 |      "7", MNU_DYNAMICTEXT, getcmapname, 107,
      |           ^~~~~~~~~~~~~~~
editor/menu_editor.c:80:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   80 |      "7", MNU_DYNAMICTEXT, getcmapname, 107,
      |                            ^~~~~~~~~~~
editor/menu_editor.c:80:28: note: (near initialization for 'edloadmap_menu[41]')
editor/menu_editor.c:80:41: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   80 |      "7", MNU_DYNAMICTEXT, getcmapname, 107,
      |                                         ^~~
editor/menu_editor.c:80:41: note: (near initialization for 'edloadmap_menu[42]')
editor/menu_editor.c:81:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   81 |      "8", MNU_DYNAMICTEXT, getcmapname, 108,
      |      ^~~
editor/menu_editor.c:81:6: note: (near initialization for 'edloadmap_menu[43]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:81:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   81 |      "8", MNU_DYNAMICTEXT, getcmapname, 108,
      |           ^~~~~~~~~~~~~~~
editor/../menu.h:62:26: note: (near initialization for 'edloadmap_menu[44]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:81:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   81 |      "8", MNU_DYNAMICTEXT, getcmapname, 108,
      |           ^~~~~~~~~~~~~~~
editor/menu_editor.c:81:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   81 |      "8", MNU_DYNAMICTEXT, getcmapname, 108,
      |                            ^~~~~~~~~~~
editor/menu_editor.c:81:28: note: (near initialization for 'edloadmap_menu[45]')
editor/menu_editor.c:81:41: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   81 |      "8", MNU_DYNAMICTEXT, getcmapname, 108,
      |                                         ^~~
editor/menu_editor.c:81:41: note: (near initialization for 'edloadmap_menu[46]')
editor/menu_editor.c:82:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   82 |      "9", MNU_DYNAMICTEXT, getcmapname, 109,
      |      ^~~
editor/menu_editor.c:82:6: note: (near initialization for 'edloadmap_menu[47]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:82:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   82 |      "9", MNU_DYNAMICTEXT, getcmapname, 109,
      |           ^~~~~~~~~~~~~~~
editor/../menu.h:62:26: note: (near initialization for 'edloadmap_menu[48]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:82:11: note: in expansion of macro 'MNU_DYNAMICTEXT'
   82 |      "9", MNU_DYNAMICTEXT, getcmapname, 109,
      |           ^~~~~~~~~~~~~~~
editor/menu_editor.c:82:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   82 |      "9", MNU_DYNAMICTEXT, getcmapname, 109,
      |                            ^~~~~~~~~~~
editor/menu_editor.c:82:28: note: (near initialization for 'edloadmap_menu[49]')
editor/menu_editor.c:82:41: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   82 |      "9", MNU_DYNAMICTEXT, getcmapname, 109,
      |                                         ^~~
editor/menu_editor.c:82:41: note: (near initialization for 'edloadmap_menu[50]')
editor/menu_editor.c:83:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   83 |      "10", MNU_DYNAMICTEXT, getcmapname, 110,
      |      ^~~~
editor/menu_editor.c:83:6: note: (near initialization for 'edloadmap_menu[51]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:62:26: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:83:12: note: in expansion of macro 'MNU_DYNAMICTEXT'
   83 |      "10", MNU_DYNAMICTEXT, getcmapname, 110,
      |            ^~~~~~~~~~~~~~~
editor/../menu.h:62:26: note: (near initialization for 'edloadmap_menu[52]')
   62 | #define MNU_DYNAMICTEXT  3  // 3rd arg is a funcpointer to get text
      |                          ^
editor/menu_editor.c:83:12: note: in expansion of macro 'MNU_DYNAMICTEXT'
   83 |      "10", MNU_DYNAMICTEXT, getcmapname, 110,
      |            ^~~~~~~~~~~~~~~
editor/menu_editor.c:83:29: warning: initialization of 'unsigned char *' from incompatible pointer type 'char * (*)(char *, char,  unsigned char)' [-Wincompatible-pointer-types]
   83 |      "10", MNU_DYNAMICTEXT, getcmapname, 110,
      |                             ^~~~~~~~~~~
editor/menu_editor.c:83:29: note: (near initialization for 'edloadmap_menu[53]')
editor/menu_editor.c:83:42: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   83 |      "10", MNU_DYNAMICTEXT, getcmapname, 110,
      |                                          ^~~
editor/menu_editor.c:83:42: note: (near initialization for 'edloadmap_menu[54]')
editor/menu_editor.c:85:33: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   85 | uchar *edbadlevel_menu[MAXM] = {(4*8),90,  255, NULL, NULL, NULL, NULL,
      |                                 ^
editor/menu_editor.c:85:33: note: (near initialization for 'edbadlevel_menu[0]')
editor/menu_editor.c:85:39: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   85 | uchar *edbadlevel_menu[MAXM] = {(4*8),90,  255, NULL, NULL, NULL, NULL,
      |                                       ^~
editor/menu_editor.c:85:39: note: (near initialization for 'edbadlevel_menu[1]')
editor/menu_editor.c:85:44: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   85 | uchar *edbadlevel_menu[MAXM] = {(4*8),90,  255, NULL, NULL, NULL, NULL,
      |                                            ^~~
editor/menu_editor.c:85:44: note: (near initialization for 'edbadlevel_menu[2]')
editor/menu_editor.c:86:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   86 |      "I don't know how to open", MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
editor/menu_editor.c:86:6: note: (near initialization for 'edbadlevel_menu[7]')
editor/menu_editor.c:87:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   87 |      "that file!", MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~~~~
editor/menu_editor.c:87:6: note: (near initialization for 'edbadlevel_menu[11]')
editor/menu_editor.c:88:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   88 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
editor/menu_editor.c:88:6: note: (near initialization for 'edbadlevel_menu[15]')
editor/menu_editor.c:89:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   89 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
editor/menu_editor.c:89:6: note: (near initialization for 'edbadlevel_menu[19]')
editor/menu_editor.c:90:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   90 |      "Ok", MNU_SWITCHMENU, edloadmap_menu, 0,
      |      ^~~~
editor/menu_editor.c:90:6: note: (near initialization for 'edbadlevel_menu[23]')
In file included from editor/menu_editor.c:3:
editor/../menu.h:60:25: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
editor/menu_editor.c:90:12: note: in expansion of macro 'MNU_SWITCHMENU'
   90 |      "Ok", MNU_SWITCHMENU, edloadmap_menu, 0,
      |            ^~~~~~~~~~~~~~
editor/../menu.h:60:25: note: (near initialization for 'edbadlevel_menu[24]')
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
editor/menu_editor.c:90:12: note: in expansion of macro 'MNU_SWITCHMENU'
   90 |      "Ok", MNU_SWITCHMENU, edloadmap_menu, 0,
      |            ^~~~~~~~~~~~~~
editor/menu_editor.c:90:28: warning: initialization of 'unsigned char *' from incompatible pointer type 'unsigned char **' [-Wincompatible-pointer-types]
   90 |      "Ok", MNU_SWITCHMENU, edloadmap_menu, 0,
      |                            ^~~~~~~~~~~~~~
editor/menu_editor.c:90:28: note: (near initialization for 'edbadlevel_menu[25]')
editor/menu_editor.c: In function 'me_resetmap':
editor/menu_editor.c:103:36: warning: implicit declaration of function 'editor_resetmap' [-Wimplicit-function-declaration]
  103 | char static me_resetmap(int arg) { editor_resetmap(); return 1; }
      |                                    ^~~~~~~~~~~~~~~
editor/menu_editor.c: In function 'me_addborder':
editor/menu_editor.c:110:37: warning: implicit declaration of function 'editor_addborder'; did you mean 'me_addborder'? [-Wimplicit-function-declaration]
  110 | char static me_addborder(int arg) { editor_addborder(); return 1; }
      |                                     ^~~~~~~~~~~~~~~~
      |                                     me_addborder
editor/menu_editor.c: In function 'me_nextep':
editor/menu_editor.c:111:34: warning: implicit declaration of function 'editor_nextep'; did you mean 'editor_enter'? [-Wimplicit-function-declaration]
  111 | char static me_nextep(int arg) { editor_nextep(); return 1; }
      |                                  ^~~~~~~~~~~~~
      |                                  editor_enter
editor/menu_editor.c: In function 'me_save':
editor/menu_editor.c:112:32: warning: implicit declaration of function 'editor_save'; did you mean 'editor_enter'? [-Wimplicit-function-declaration]
  112 | char static me_save(int arg) { editor_save(); return 1; }
      |                                ^~~~~~~~~~~
      |                                editor_enter
editor/menu_editor.c: In function 'me_saveas':
editor/menu_editor.c:113:34: warning: implicit declaration of function 'editor_saveas' [-Wimplicit-function-declaration]
  113 | char static me_saveas(int arg) { editor_saveas(); return 1; }
      |                                  ^~~~~~~~~~~~~
editor/menu_editor.c: In function 'me_exit_ed':
editor/menu_editor.c:114:35: warning: implicit declaration of function 'editor_exit'; did you mean 'editor_enter'? [-Wimplicit-function-declaration]
  114 | char static me_exit_ed(int arg) { editor_exit(); return 1; }
      |                                   ^~~~~~~~~~~
      |                                   editor_enter
editor/menu_editor.c: In function 'me_resizemap':
editor/menu_editor.c:115:37: warning: implicit declaration of function 'editor_resizemap'; did you mean 'me_resizemap'? [-Wimplicit-function-declaration]
  115 | char static me_resizemap(int arg) { editor_resizemap(); return 1; }
      |                                     ^~~~~~~~~~~~~~~~
      |                                     me_resizemap
editor/menu_editor.c: In function 'me_timelimit':
editor/menu_editor.c:116:37: warning: implicit declaration of function 'editor_settimelimit' [-Wimplicit-function-declaration]
  116 | char static me_timelimit(int arg) { editor_settimelimit(); return 1; }
      |                                     ^~~~~~~~~~~~~~~~~~~
In file included from editor/../menu.h:92,
                 from editor/menu_editor.c:3:
editor/menu_editor.c: At top level:
editor/../menumanager.fdh:36:13: warning: 'SelectCorrectMM' declared 'static' but never defined [-Wunused-function]
   36 | void static SelectCorrectMM(void);
      |             ^~~~~~~~~~~~~~~
editor/../menumanager.fdh:37:13: warning: 'DrawMenuText' declared 'static' but never defined [-Wunused-function]
   37 | void static DrawMenuText(void);
      |             ^~~~~~~~~~~~
editor/../menumanager.fdh:42:13: warning: 'DrawLogo' declared 'static' but never defined [-Wunused-function]
   42 | void static DrawLogo(void);
      |             ^~~~~~~~
editor/../menumanager.fdh:45:13: warning: 'move_down' declared 'static' but never defined [-Wunused-function]
   45 | void static move_down(void);
      |             ^~~~~~~~~
editor/../menumanager.fdh:46:13: warning: 'move_up' declared 'static' but never defined [-Wunused-function]
   46 | void static move_up(void);
      |             ^~~~~~~
editor/../menumanager.fdh:49:13: warning: 'goto_epmenu' declared 'static' but never defined [-Wunused-function]
   49 | char static goto_epmenu(int numplayers);
      |             ^~~~~~~~~~~
editor/../menumanager.fdh:50:13: warning: 'mmhandler_newgame' declared 'static' but never defined [-Wunused-function]
   50 | char static mmhandler_newgame(int episode);
      |             ^~~~~~~~~~~~~~~~~
editor/../menumanager.fdh:51:13: warning: 'mmhandler_endgame' declared 'static' but never defined [-Wunused-function]
   51 | char static mmhandler_endgame(int dummy);
      |             ^~~~~~~~~~~~~~~~~
editor/../menumanager.fdh:52:13: warning: 'mmhandler_restartlevel' declared 'static' but never defined [-Wunused-function]
   52 | char static mmhandler_restartlevel(int dummy);
      |             ^~~~~~~~~~~~~~~~~~~~~~
editor/../menumanager.fdh:53:13: warning: 'mmhandler_quit' declared 'static' but never defined [-Wunused-function]
   53 | char static mmhandler_quit(int dummy);
      |             ^~~~~~~~~~~~~~
editor/../menumanager.fdh:54:13: warning: 'mmhandler_quit2' declared 'static' but never defined [-Wunused-function]
   54 | char static mmhandler_quit2(int dummy);
      |             ^~~~~~~~~~~~~~~
editor/menu_editor.c: In function 'ToggleGhosting':
editor/menu_editor.c:152:1: warning: control reaches end of non-void function [-Wreturn-type]
  152 | }
      | ^
editor/menu_editor.c: In function 'SetForcedOption':
editor/menu_editor.c:204:1: warning: control reaches end of non-void function [-Wreturn-type]
  204 | }
      | ^
editor/menu_editor.c: In function 'SetGameOverOnTimeOut':
editor/menu_editor.c:138:1: warning: control reaches end of non-void function [-Wreturn-type]
  138 | }
      | ^
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c menumanager.c -o menumanager.o
menumanager.c:16:27: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   16 | uchar *main_menu[MAXM] = {88,79,  0, NULL, NULL, NULL, NULL,
      |                           ^~
menumanager.c:16:27: note: (near initialization for 'main_menu[0]')
menumanager.c:16:30: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   16 | uchar *main_menu[MAXM] = {88,79,  0, NULL, NULL, NULL, NULL,
      |                              ^~
menumanager.c:16:30: note: (near initialization for 'main_menu[1]')
menumanager.c:17:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   17 |      "1-Player Game", MNU_CALLFP, goto_epmenu, 1,
      |      ^~~~~~~~~~~~~~~
menumanager.c:17:6: note: (near initialization for 'main_menu[7]')
In file included from menumanager.c:10:
menu.h:61:22: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menumanager.c:17:23: note: in expansion of macro 'MNU_CALLFP'
   17 |      "1-Player Game", MNU_CALLFP, goto_epmenu, 1,
      |                       ^~~~~~~~~~
menu.h:61:22: note: (near initialization for 'main_menu[8]')
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menumanager.c:17:23: note: in expansion of macro 'MNU_CALLFP'
   17 |      "1-Player Game", MNU_CALLFP, goto_epmenu, 1,
      |                       ^~~~~~~~~~
menumanager.c:17:35: warning: initialization of 'unsigned char *' from incompatible pointer type 'char (*)(int)' [-Wincompatible-pointer-types]
   17 |      "1-Player Game", MNU_CALLFP, goto_epmenu, 1,
      |                                   ^~~~~~~~~~~
menumanager.c:17:35: note: (near initialization for 'main_menu[9]')
menumanager.c:17:48: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   17 |      "1-Player Game", MNU_CALLFP, goto_epmenu, 1,
      |                                                ^
menumanager.c:17:48: note: (near initialization for 'main_menu[10]')
menumanager.c:18:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   18 |      "2-Player Game", MNU_CALLFP, goto_epmenu, 2,
      |      ^~~~~~~~~~~~~~~
menumanager.c:18:6: note: (near initialization for 'main_menu[11]')
In file included from menumanager.c:10:
menu.h:61:22: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menumanager.c:18:23: note: in expansion of macro 'MNU_CALLFP'
   18 |      "2-Player Game", MNU_CALLFP, goto_epmenu, 2,
      |                       ^~~~~~~~~~
menu.h:61:22: note: (near initialization for 'main_menu[12]')
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menumanager.c:18:23: note: in expansion of macro 'MNU_CALLFP'
   18 |      "2-Player Game", MNU_CALLFP, goto_epmenu, 2,
      |                       ^~~~~~~~~~
menumanager.c:18:35: warning: initialization of 'unsigned char *' from incompatible pointer type 'char (*)(int)' [-Wincompatible-pointer-types]
   18 |      "2-Player Game", MNU_CALLFP, goto_epmenu, 2,
      |                                   ^~~~~~~~~~~
menumanager.c:18:35: note: (near initialization for 'main_menu[13]')
menumanager.c:18:48: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   18 |      "2-Player Game", MNU_CALLFP, goto_epmenu, 2,
      |                                                ^
menumanager.c:18:48: note: (near initialization for 'main_menu[14]')
menumanager.c:19:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   19 |      "Editor", MNU_SWITCHMENU, edloadmap_menu, 0,
      |      ^~~~~~~~
menumanager.c:19:6: note: (near initialization for 'main_menu[15]')
In file included from menumanager.c:10:
menu.h:60:25: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:19:16: note: in expansion of macro 'MNU_SWITCHMENU'
   19 |      "Editor", MNU_SWITCHMENU, edloadmap_menu, 0,
      |                ^~~~~~~~~~~~~~
menu.h:60:25: note: (near initialization for 'main_menu[16]')
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:19:16: note: in expansion of macro 'MNU_SWITCHMENU'
   19 |      "Editor", MNU_SWITCHMENU, edloadmap_menu, 0,
      |                ^~~~~~~~~~~~~~
menumanager.c:19:32: warning: initialization of 'unsigned char *' from incompatible pointer type 'unsigned char **' [-Wincompatible-pointer-types]
   19 |      "Editor", MNU_SWITCHMENU, edloadmap_menu, 0,
      |                                ^~~~~~~~~~~~~~
menumanager.c:19:32: note: (near initialization for 'main_menu[17]')
menumanager.c:20:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   20 |      "Load Game", MNU_SWITCHMENU, loadgame_menu, 0,
      |      ^~~~~~~~~~~
menumanager.c:20:6: note: (near initialization for 'main_menu[19]')
In file included from menumanager.c:10:
menu.h:60:25: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:20:19: note: in expansion of macro 'MNU_SWITCHMENU'
   20 |      "Load Game", MNU_SWITCHMENU, loadgame_menu, 0,
      |                   ^~~~~~~~~~~~~~
menu.h:60:25: note: (near initialization for 'main_menu[20]')
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:20:19: note: in expansion of macro 'MNU_SWITCHMENU'
   20 |      "Load Game", MNU_SWITCHMENU, loadgame_menu, 0,
      |                   ^~~~~~~~~~~~~~
menumanager.c:20:35: warning: initialization of 'unsigned char *' from incompatible pointer type 'unsigned char **' [-Wincompatible-pointer-types]
   20 |      "Load Game", MNU_SWITCHMENU, loadgame_menu, 0,
      |                                   ^~~~~~~~~~~~~
menumanager.c:20:35: note: (near initialization for 'main_menu[21]')
menumanager.c:21:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   21 |      "Options", MNU_SWITCHMENU, option_menu, 0,
      |      ^~~~~~~~~
menumanager.c:21:6: note: (near initialization for 'main_menu[23]')
In file included from menumanager.c:10:
menu.h:60:25: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:21:17: note: in expansion of macro 'MNU_SWITCHMENU'
   21 |      "Options", MNU_SWITCHMENU, option_menu, 0,
      |                 ^~~~~~~~~~~~~~
menu.h:60:25: note: (near initialization for 'main_menu[24]')
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:21:17: note: in expansion of macro 'MNU_SWITCHMENU'
   21 |      "Options", MNU_SWITCHMENU, option_menu, 0,
      |                 ^~~~~~~~~~~~~~
menumanager.c:21:33: warning: initialization of 'unsigned char *' from incompatible pointer type 'unsigned char **' [-Wincompatible-pointer-types]
   21 |      "Options", MNU_SWITCHMENU, option_menu, 0,
      |                                 ^~~~~~~~~~~
menumanager.c:21:33: note: (near initialization for 'main_menu[25]')
menumanager.c:22:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   22 |      "About", MNU_SWITCHMENU, about_menu, 0,
      |      ^~~~~~~
menumanager.c:22:6: note: (near initialization for 'main_menu[27]')
In file included from menumanager.c:10:
menu.h:60:25: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:22:15: note: in expansion of macro 'MNU_SWITCHMENU'
   22 |      "About", MNU_SWITCHMENU, about_menu, 0,
      |               ^~~~~~~~~~~~~~
menu.h:60:25: note: (near initialization for 'main_menu[28]')
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:22:15: note: in expansion of macro 'MNU_SWITCHMENU'
   22 |      "About", MNU_SWITCHMENU, about_menu, 0,
      |               ^~~~~~~~~~~~~~
menumanager.c:22:31: warning: initialization of 'unsigned char *' from incompatible pointer type 'unsigned char **' [-Wincompatible-pointer-types]
   22 |      "About", MNU_SWITCHMENU, about_menu, 0,
      |                               ^~~~~~~~~~
menumanager.c:22:31: note: (near initialization for 'main_menu[29]')
menumanager.c:23:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   23 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
menumanager.c:23:6: note: (near initialization for 'main_menu[31]')
menumanager.c:24:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   24 |      "Quit", MNU_CALLFP, mmhandler_quit, 0,
      |      ^~~~~~
menumanager.c:24:6: note: (near initialization for 'main_menu[35]')
In file included from menumanager.c:10:
menu.h:61:22: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menumanager.c:24:14: note: in expansion of macro 'MNU_CALLFP'
   24 |      "Quit", MNU_CALLFP, mmhandler_quit, 0,
      |              ^~~~~~~~~~
menu.h:61:22: note: (near initialization for 'main_menu[36]')
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menumanager.c:24:14: note: in expansion of macro 'MNU_CALLFP'
   24 |      "Quit", MNU_CALLFP, mmhandler_quit, 0,
      |              ^~~~~~~~~~
menumanager.c:24:26: warning: initialization of 'unsigned char *' from incompatible pointer type 'char (*)(int)' [-Wincompatible-pointer-types]
   24 |      "Quit", MNU_CALLFP, mmhandler_quit, 0,
      |                          ^~~~~~~~~~~~~~
menumanager.c:24:26: note: (near initialization for 'main_menu[37]')
menumanager.c:28:29: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   28 | uchar *ingame_menu[MAXM] = {88,79,  0, NULL, NULL, NULL, NULL,
      |                             ^~
menumanager.c:28:29: note: (near initialization for 'ingame_menu[0]')
menumanager.c:28:32: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   28 | uchar *ingame_menu[MAXM] = {88,79,  0, NULL, NULL, NULL, NULL,
      |                                ^~
menumanager.c:28:32: note: (near initialization for 'ingame_menu[1]')
menumanager.c:29:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   29 |      "New Game", MNU_SWITCHMENU, selectep_menu, 0,
      |      ^~~~~~~~~~
menumanager.c:29:6: note: (near initialization for 'ingame_menu[7]')
In file included from menumanager.c:10:
menu.h:60:25: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:29:18: note: in expansion of macro 'MNU_SWITCHMENU'
   29 |      "New Game", MNU_SWITCHMENU, selectep_menu, 0,
      |                  ^~~~~~~~~~~~~~
menu.h:60:25: note: (near initialization for 'ingame_menu[8]')
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:29:18: note: in expansion of macro 'MNU_SWITCHMENU'
   29 |      "New Game", MNU_SWITCHMENU, selectep_menu, 0,
      |                  ^~~~~~~~~~~~~~
menumanager.c:29:34: warning: initialization of 'unsigned char *' from incompatible pointer type 'unsigned char **' [-Wincompatible-pointer-types]
   29 |      "New Game", MNU_SWITCHMENU, selectep_menu, 0,
      |                                  ^~~~~~~~~~~~~
menumanager.c:29:34: note: (near initialization for 'ingame_menu[9]')
menumanager.c:30:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   30 |      "Save Game", MNU_SWITCHMENU, savegame_menu, 0,
      |      ^~~~~~~~~~~
menumanager.c:30:6: note: (near initialization for 'ingame_menu[11]')
In file included from menumanager.c:10:
menu.h:60:25: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:30:19: note: in expansion of macro 'MNU_SWITCHMENU'
   30 |      "Save Game", MNU_SWITCHMENU, savegame_menu, 0,
      |                   ^~~~~~~~~~~~~~
menu.h:60:25: note: (near initialization for 'ingame_menu[12]')
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:30:19: note: in expansion of macro 'MNU_SWITCHMENU'
   30 |      "Save Game", MNU_SWITCHMENU, savegame_menu, 0,
      |                   ^~~~~~~~~~~~~~
menumanager.c:30:35: warning: initialization of 'unsigned char *' from incompatible pointer type 'unsigned char **' [-Wincompatible-pointer-types]
   30 |      "Save Game", MNU_SWITCHMENU, savegame_menu, 0,
      |                                   ^~~~~~~~~~~~~
menumanager.c:30:35: note: (near initialization for 'ingame_menu[13]')
menumanager.c:31:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   31 |      "Load Game", MNU_SWITCHMENU, loadgame_menu, 0,
      |      ^~~~~~~~~~~
menumanager.c:31:6: note: (near initialization for 'ingame_menu[15]')
In file included from menumanager.c:10:
menu.h:60:25: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:31:19: note: in expansion of macro 'MNU_SWITCHMENU'
   31 |      "Load Game", MNU_SWITCHMENU, loadgame_menu, 0,
      |                   ^~~~~~~~~~~~~~
menu.h:60:25: note: (near initialization for 'ingame_menu[16]')
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:31:19: note: in expansion of macro 'MNU_SWITCHMENU'
   31 |      "Load Game", MNU_SWITCHMENU, loadgame_menu, 0,
      |                   ^~~~~~~~~~~~~~
menumanager.c:31:35: warning: initialization of 'unsigned char *' from incompatible pointer type 'unsigned char **' [-Wincompatible-pointer-types]
   31 |      "Load Game", MNU_SWITCHMENU, loadgame_menu, 0,
      |                                   ^~~~~~~~~~~~~
menumanager.c:31:35: note: (near initialization for 'ingame_menu[17]')
menumanager.c:32:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   32 |      "Options", MNU_SWITCHMENU, option_menu, 0,
      |      ^~~~~~~~~
menumanager.c:32:6: note: (near initialization for 'ingame_menu[19]')
In file included from menumanager.c:10:
menu.h:60:25: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:32:17: note: in expansion of macro 'MNU_SWITCHMENU'
   32 |      "Options", MNU_SWITCHMENU, option_menu, 0,
      |                 ^~~~~~~~~~~~~~
menu.h:60:25: note: (near initialization for 'ingame_menu[20]')
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:32:17: note: in expansion of macro 'MNU_SWITCHMENU'
   32 |      "Options", MNU_SWITCHMENU, option_menu, 0,
      |                 ^~~~~~~~~~~~~~
menumanager.c:32:33: warning: initialization of 'unsigned char *' from incompatible pointer type 'unsigned char **' [-Wincompatible-pointer-types]
   32 |      "Options", MNU_SWITCHMENU, option_menu, 0,
      |                                 ^~~~~~~~~~~
menumanager.c:32:33: note: (near initialization for 'ingame_menu[21]')
menumanager.c:33:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   33 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
menumanager.c:33:6: note: (near initialization for 'ingame_menu[23]')
menumanager.c:34:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   34 |      "End Level", MNU_CALLFP, mmhandler_restartlevel, 2,
      |      ^~~~~~~~~~~
menumanager.c:34:6: note: (near initialization for 'ingame_menu[27]')
In file included from menumanager.c:10:
menu.h:61:22: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menumanager.c:34:19: note: in expansion of macro 'MNU_CALLFP'
   34 |      "End Level", MNU_CALLFP, mmhandler_restartlevel, 2,
      |                   ^~~~~~~~~~
menu.h:61:22: note: (near initialization for 'ingame_menu[28]')
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menumanager.c:34:19: note: in expansion of macro 'MNU_CALLFP'
   34 |      "End Level", MNU_CALLFP, mmhandler_restartlevel, 2,
      |                   ^~~~~~~~~~
menumanager.c:34:31: warning: initialization of 'unsigned char *' from incompatible pointer type 'char (*)(int)' [-Wincompatible-pointer-types]
   34 |      "End Level", MNU_CALLFP, mmhandler_restartlevel, 2,
      |                               ^~~~~~~~~~~~~~~~~~~~~~
menumanager.c:34:31: note: (near initialization for 'ingame_menu[29]')
menumanager.c:34:55: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   34 |      "End Level", MNU_CALLFP, mmhandler_restartlevel, 2,
      |                                                       ^
menumanager.c:34:55: note: (near initialization for 'ingame_menu[30]')
menumanager.c:35:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   35 |      "End Game", MNU_SWITCHMENU, endgame_menu, 0,
      |      ^~~~~~~~~~
menumanager.c:35:6: note: (near initialization for 'ingame_menu[31]')
In file included from menumanager.c:10:
menu.h:60:25: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:35:18: note: in expansion of macro 'MNU_SWITCHMENU'
   35 |      "End Game", MNU_SWITCHMENU, endgame_menu, 0,
      |                  ^~~~~~~~~~~~~~
menu.h:60:25: note: (near initialization for 'ingame_menu[32]')
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:35:18: note: in expansion of macro 'MNU_SWITCHMENU'
   35 |      "End Game", MNU_SWITCHMENU, endgame_menu, 0,
      |                  ^~~~~~~~~~~~~~
menumanager.c:35:34: warning: initialization of 'unsigned char *' from incompatible pointer type 'unsigned char **' [-Wincompatible-pointer-types]
   35 |      "End Game", MNU_SWITCHMENU, endgame_menu, 0,
      |                                  ^~~~~~~~~~~~
menumanager.c:35:34: note: (near initialization for 'ingame_menu[33]')
menumanager.c:36:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   36 |      "Quit", MNU_CALLFP, mmhandler_quit, 0,
      |      ^~~~~~
menumanager.c:36:6: note: (near initialization for 'ingame_menu[35]')
In file included from menumanager.c:10:
menu.h:61:22: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menumanager.c:36:14: note: in expansion of macro 'MNU_CALLFP'
   36 |      "Quit", MNU_CALLFP, mmhandler_quit, 0,
      |              ^~~~~~~~~~
menu.h:61:22: note: (near initialization for 'ingame_menu[36]')
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menumanager.c:36:14: note: in expansion of macro 'MNU_CALLFP'
   36 |      "Quit", MNU_CALLFP, mmhandler_quit, 0,
      |              ^~~~~~~~~~
menumanager.c:36:26: warning: initialization of 'unsigned char *' from incompatible pointer type 'char (*)(int)' [-Wincompatible-pointer-types]
   36 |      "Quit", MNU_CALLFP, mmhandler_quit, 0,
      |                          ^~~~~~~~~~~~~~
menumanager.c:36:26: note: (near initialization for 'ingame_menu[37]')
menumanager.c:40:39: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   40 | uchar *ingame_menu_norestart[MAXM] = {88,79,  0, NULL, NULL, NULL, NULL,
      |                                       ^~
menumanager.c:40:39: note: (near initialization for 'ingame_menu_norestart[0]')
menumanager.c:40:42: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   40 | uchar *ingame_menu_norestart[MAXM] = {88,79,  0, NULL, NULL, NULL, NULL,
      |                                          ^~
menumanager.c:40:42: note: (near initialization for 'ingame_menu_norestart[1]')
menumanager.c:41:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   41 |      "New Game", MNU_SWITCHMENU, selectep_menu, 0,
      |      ^~~~~~~~~~
menumanager.c:41:6: note: (near initialization for 'ingame_menu_norestart[7]')
In file included from menumanager.c:10:
menu.h:60:25: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:41:18: note: in expansion of macro 'MNU_SWITCHMENU'
   41 |      "New Game", MNU_SWITCHMENU, selectep_menu, 0,
      |                  ^~~~~~~~~~~~~~
menu.h:60:25: note: (near initialization for 'ingame_menu_norestart[8]')
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:41:18: note: in expansion of macro 'MNU_SWITCHMENU'
   41 |      "New Game", MNU_SWITCHMENU, selectep_menu, 0,
      |                  ^~~~~~~~~~~~~~
menumanager.c:41:34: warning: initialization of 'unsigned char *' from incompatible pointer type 'unsigned char **' [-Wincompatible-pointer-types]
   41 |      "New Game", MNU_SWITCHMENU, selectep_menu, 0,
      |                                  ^~~~~~~~~~~~~
menumanager.c:41:34: note: (near initialization for 'ingame_menu_norestart[9]')
menumanager.c:42:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   42 |      "Save Game", MNU_SWITCHMENU, savegame_menu, 0,
      |      ^~~~~~~~~~~
menumanager.c:42:6: note: (near initialization for 'ingame_menu_norestart[11]')
In file included from menumanager.c:10:
menu.h:60:25: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:42:19: note: in expansion of macro 'MNU_SWITCHMENU'
   42 |      "Save Game", MNU_SWITCHMENU, savegame_menu, 0,
      |                   ^~~~~~~~~~~~~~
menu.h:60:25: note: (near initialization for 'ingame_menu_norestart[12]')
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:42:19: note: in expansion of macro 'MNU_SWITCHMENU'
   42 |      "Save Game", MNU_SWITCHMENU, savegame_menu, 0,
      |                   ^~~~~~~~~~~~~~
menumanager.c:42:35: warning: initialization of 'unsigned char *' from incompatible pointer type 'unsigned char **' [-Wincompatible-pointer-types]
   42 |      "Save Game", MNU_SWITCHMENU, savegame_menu, 0,
      |                                   ^~~~~~~~~~~~~
menumanager.c:42:35: note: (near initialization for 'ingame_menu_norestart[13]')
menumanager.c:43:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   43 |      "Load Game", MNU_SWITCHMENU, loadgame_menu, 0,
      |      ^~~~~~~~~~~
menumanager.c:43:6: note: (near initialization for 'ingame_menu_norestart[15]')
In file included from menumanager.c:10:
menu.h:60:25: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:43:19: note: in expansion of macro 'MNU_SWITCHMENU'
   43 |      "Load Game", MNU_SWITCHMENU, loadgame_menu, 0,
      |                   ^~~~~~~~~~~~~~
menu.h:60:25: note: (near initialization for 'ingame_menu_norestart[16]')
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:43:19: note: in expansion of macro 'MNU_SWITCHMENU'
   43 |      "Load Game", MNU_SWITCHMENU, loadgame_menu, 0,
      |                   ^~~~~~~~~~~~~~
menumanager.c:43:35: warning: initialization of 'unsigned char *' from incompatible pointer type 'unsigned char **' [-Wincompatible-pointer-types]
   43 |      "Load Game", MNU_SWITCHMENU, loadgame_menu, 0,
      |                                   ^~~~~~~~~~~~~
menumanager.c:43:35: note: (near initialization for 'ingame_menu_norestart[17]')
menumanager.c:44:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   44 |      "Options", MNU_SWITCHMENU, option_menu, 0,
      |      ^~~~~~~~~
menumanager.c:44:6: note: (near initialization for 'ingame_menu_norestart[19]')
In file included from menumanager.c:10:
menu.h:60:25: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:44:17: note: in expansion of macro 'MNU_SWITCHMENU'
   44 |      "Options", MNU_SWITCHMENU, option_menu, 0,
      |                 ^~~~~~~~~~~~~~
menu.h:60:25: note: (near initialization for 'ingame_menu_norestart[20]')
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:44:17: note: in expansion of macro 'MNU_SWITCHMENU'
   44 |      "Options", MNU_SWITCHMENU, option_menu, 0,
      |                 ^~~~~~~~~~~~~~
menumanager.c:44:33: warning: initialization of 'unsigned char *' from incompatible pointer type 'unsigned char **' [-Wincompatible-pointer-types]
   44 |      "Options", MNU_SWITCHMENU, option_menu, 0,
      |                                 ^~~~~~~~~~~
menumanager.c:44:33: note: (near initialization for 'ingame_menu_norestart[21]')
menumanager.c:45:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   45 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
menumanager.c:45:6: note: (near initialization for 'ingame_menu_norestart[23]')
menumanager.c:46:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   46 |      "End Game", MNU_SWITCHMENU, endgame_menu, 0,
      |      ^~~~~~~~~~
menumanager.c:46:6: note: (near initialization for 'ingame_menu_norestart[27]')
In file included from menumanager.c:10:
menu.h:60:25: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:46:18: note: in expansion of macro 'MNU_SWITCHMENU'
   46 |      "End Game", MNU_SWITCHMENU, endgame_menu, 0,
      |                  ^~~~~~~~~~~~~~
menu.h:60:25: note: (near initialization for 'ingame_menu_norestart[28]')
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:46:18: note: in expansion of macro 'MNU_SWITCHMENU'
   46 |      "End Game", MNU_SWITCHMENU, endgame_menu, 0,
      |                  ^~~~~~~~~~~~~~
menumanager.c:46:34: warning: initialization of 'unsigned char *' from incompatible pointer type 'unsigned char **' [-Wincompatible-pointer-types]
   46 |      "End Game", MNU_SWITCHMENU, endgame_menu, 0,
      |                                  ^~~~~~~~~~~~
menumanager.c:46:34: note: (near initialization for 'ingame_menu_norestart[29]')
menumanager.c:47:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   47 |      "Quit", MNU_CALLFP, mmhandler_quit, 0,
      |      ^~~~~~
menumanager.c:47:6: note: (near initialization for 'ingame_menu_norestart[31]')
In file included from menumanager.c:10:
menu.h:61:22: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menumanager.c:47:14: note: in expansion of macro 'MNU_CALLFP'
   47 |      "Quit", MNU_CALLFP, mmhandler_quit, 0,
      |              ^~~~~~~~~~
menu.h:61:22: note: (near initialization for 'ingame_menu_norestart[32]')
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menumanager.c:47:14: note: in expansion of macro 'MNU_CALLFP'
   47 |      "Quit", MNU_CALLFP, mmhandler_quit, 0,
      |              ^~~~~~~~~~
menumanager.c:47:26: warning: initialization of 'unsigned char *' from incompatible pointer type 'char (*)(int)' [-Wincompatible-pointer-types]
   47 |      "Quit", MNU_CALLFP, mmhandler_quit, 0,
      |                          ^~~~~~~~~~~~~~
menumanager.c:47:26: note: (near initialization for 'ingame_menu_norestart[33]')
menumanager.c:51:30: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   51 | uchar *endgame_menu[MAXM] = {90,100,  0, NULL, NULL, NULL, NULL,
      |                              ^~
menumanager.c:51:30: note: (near initialization for 'endgame_menu[0]')
menumanager.c:51:33: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   51 | uchar *endgame_menu[MAXM] = {90,100,  0, NULL, NULL, NULL, NULL,
      |                                 ^~~
menumanager.c:51:33: note: (near initialization for 'endgame_menu[1]')
menumanager.c:52:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   52 |      "End the Game", MNU_CALLFP, mmhandler_endgame, 0,
      |      ^~~~~~~~~~~~~~
menumanager.c:52:6: note: (near initialization for 'endgame_menu[7]')
In file included from menumanager.c:10:
menu.h:61:22: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menumanager.c:52:22: note: in expansion of macro 'MNU_CALLFP'
   52 |      "End the Game", MNU_CALLFP, mmhandler_endgame, 0,
      |                      ^~~~~~~~~~
menu.h:61:22: note: (near initialization for 'endgame_menu[8]')
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menumanager.c:52:22: note: in expansion of macro 'MNU_CALLFP'
   52 |      "End the Game", MNU_CALLFP, mmhandler_endgame, 0,
      |                      ^~~~~~~~~~
menumanager.c:52:34: warning: initialization of 'unsigned char *' from incompatible pointer type 'char (*)(int)' [-Wincompatible-pointer-types]
   52 |      "End the Game", MNU_CALLFP, mmhandler_endgame, 0,
      |                                  ^~~~~~~~~~~~~~~~~
menumanager.c:52:34: note: (near initialization for 'endgame_menu[9]')
menumanager.c:53:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   53 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
menumanager.c:53:6: note: (near initialization for 'endgame_menu[11]')
menumanager.c:54:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   54 |      "Play on!", MNU_CALLFP, dismiss_menu, 0,
      |      ^~~~~~~~~~
menumanager.c:54:6: note: (near initialization for 'endgame_menu[15]')
In file included from menumanager.c:10:
menu.h:61:22: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menumanager.c:54:18: note: in expansion of macro 'MNU_CALLFP'
   54 |      "Play on!", MNU_CALLFP, dismiss_menu, 0,
      |                  ^~~~~~~~~~
menu.h:61:22: note: (near initialization for 'endgame_menu[16]')
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menumanager.c:54:18: note: in expansion of macro 'MNU_CALLFP'
   54 |      "Play on!", MNU_CALLFP, dismiss_menu, 0,
      |                  ^~~~~~~~~~
menumanager.c:54:30: warning: initialization of 'unsigned char *' from incompatible pointer type 'char (*)(int)' [-Wincompatible-pointer-types]
   54 |      "Play on!", MNU_CALLFP, dismiss_menu, 0,
      |                              ^~~~~~~~~~~~
menumanager.c:54:30: note: (near initialization for 'endgame_menu[17]')
menumanager.c:58:27: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   58 | uchar *quit_menu[MAXM] = {90,100, 0, NULL, NULL, NULL, NULL,
      |                           ^~
menumanager.c:58:27: note: (near initialization for 'quit_menu[0]')
menumanager.c:58:30: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   58 | uchar *quit_menu[MAXM] = {90,100, 0, NULL, NULL, NULL, NULL,
      |                              ^~~
menumanager.c:58:30: note: (near initialization for 'quit_menu[1]')
menumanager.c:59:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   59 |      "Quit the Program", MNU_CALLFP, mmhandler_quit2, 0,
      |      ^~~~~~~~~~~~~~~~~~
menumanager.c:59:6: note: (near initialization for 'quit_menu[7]')
In file included from menumanager.c:10:
menu.h:61:22: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menumanager.c:59:26: note: in expansion of macro 'MNU_CALLFP'
   59 |      "Quit the Program", MNU_CALLFP, mmhandler_quit2, 0,
      |                          ^~~~~~~~~~
menu.h:61:22: note: (near initialization for 'quit_menu[8]')
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menumanager.c:59:26: note: in expansion of macro 'MNU_CALLFP'
   59 |      "Quit the Program", MNU_CALLFP, mmhandler_quit2, 0,
      |                          ^~~~~~~~~~
menumanager.c:59:38: warning: initialization of 'unsigned char *' from incompatible pointer type 'char (*)(int)' [-Wincompatible-pointer-types]
   59 |      "Quit the Program", MNU_CALLFP, mmhandler_quit2, 0,
      |                                      ^~~~~~~~~~~~~~~
menumanager.c:59:38: note: (near initialization for 'quit_menu[9]')
menumanager.c:60:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   60 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
menumanager.c:60:6: note: (near initialization for 'quit_menu[11]')
menumanager.c:61:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   61 |      "Play on!", MNU_CALLFP, dismiss_menu, 0,
      |      ^~~~~~~~~~
menumanager.c:61:6: note: (near initialization for 'quit_menu[15]')
In file included from menumanager.c:10:
menu.h:61:22: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menumanager.c:61:18: note: in expansion of macro 'MNU_CALLFP'
   61 |      "Play on!", MNU_CALLFP, dismiss_menu, 0,
      |                  ^~~~~~~~~~
menu.h:61:22: note: (near initialization for 'quit_menu[16]')
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menumanager.c:61:18: note: in expansion of macro 'MNU_CALLFP'
   61 |      "Play on!", MNU_CALLFP, dismiss_menu, 0,
      |                  ^~~~~~~~~~
menumanager.c:61:30: warning: initialization of 'unsigned char *' from incompatible pointer type 'char (*)(int)' [-Wincompatible-pointer-types]
   61 |      "Play on!", MNU_CALLFP, dismiss_menu, 0,
      |                              ^~~~~~~~~~~~
menumanager.c:61:30: note: (near initialization for 'quit_menu[17]')
menumanager.c:65:31: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   65 | uchar *selectep_menu[MAXM] = {5*8,90,  0, NULL, NULL, NULL, NULL,
      |                               ^
menumanager.c:65:31: note: (near initialization for 'selectep_menu[0]')
menumanager.c:65:35: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   65 | uchar *selectep_menu[MAXM] = {5*8,90,  0, NULL, NULL, NULL, NULL,
      |                                   ^~
menumanager.c:65:35: note: (near initialization for 'selectep_menu[1]')
menumanager.c:66:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   66 |      "Invasion of the Vorticons", MNU_CALLFP, mmhandler_newgame, 1,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
menumanager.c:66:6: note: (near initialization for 'selectep_menu[7]')
In file included from menumanager.c:10:
menu.h:61:22: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menumanager.c:66:35: note: in expansion of macro 'MNU_CALLFP'
   66 |      "Invasion of the Vorticons", MNU_CALLFP, mmhandler_newgame, 1,
      |                                   ^~~~~~~~~~
menu.h:61:22: note: (near initialization for 'selectep_menu[8]')
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menumanager.c:66:35: note: in expansion of macro 'MNU_CALLFP'
   66 |      "Invasion of the Vorticons", MNU_CALLFP, mmhandler_newgame, 1,
      |                                   ^~~~~~~~~~
menumanager.c:66:47: warning: initialization of 'unsigned char *' from incompatible pointer type 'char (*)(int)' [-Wincompatible-pointer-types]
   66 |      "Invasion of the Vorticons", MNU_CALLFP, mmhandler_newgame, 1,
      |                                               ^~~~~~~~~~~~~~~~~
menumanager.c:66:47: note: (near initialization for 'selectep_menu[9]')
menumanager.c:66:66: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   66 |      "Invasion of the Vorticons", MNU_CALLFP, mmhandler_newgame, 1,
      |                                                                  ^
menumanager.c:66:66: note: (near initialization for 'selectep_menu[10]')
menumanager.c:67:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   67 |      "The Earth Explodes", MNU_CALLFP, mmhandler_newgame, 2,
      |      ^~~~~~~~~~~~~~~~~~~~
menumanager.c:67:6: note: (near initialization for 'selectep_menu[11]')
In file included from menumanager.c:10:
menu.h:61:22: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menumanager.c:67:28: note: in expansion of macro 'MNU_CALLFP'
   67 |      "The Earth Explodes", MNU_CALLFP, mmhandler_newgame, 2,
      |                            ^~~~~~~~~~
menu.h:61:22: note: (near initialization for 'selectep_menu[12]')
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menumanager.c:67:28: note: in expansion of macro 'MNU_CALLFP'
   67 |      "The Earth Explodes", MNU_CALLFP, mmhandler_newgame, 2,
      |                            ^~~~~~~~~~
menumanager.c:67:40: warning: initialization of 'unsigned char *' from incompatible pointer type 'char (*)(int)' [-Wincompatible-pointer-types]
   67 |      "The Earth Explodes", MNU_CALLFP, mmhandler_newgame, 2,
      |                                        ^~~~~~~~~~~~~~~~~
menumanager.c:67:40: note: (near initialization for 'selectep_menu[13]')
menumanager.c:67:59: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   67 |      "The Earth Explodes", MNU_CALLFP, mmhandler_newgame, 2,
      |                                                           ^
menumanager.c:67:59: note: (near initialization for 'selectep_menu[14]')
menumanager.c:68:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   68 |      "Keen Must Die!", MNU_CALLFP, mmhandler_newgame, 3,
      |      ^~~~~~~~~~~~~~~~
menumanager.c:68:6: note: (near initialization for 'selectep_menu[15]')
In file included from menumanager.c:10:
menu.h:61:22: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menumanager.c:68:24: note: in expansion of macro 'MNU_CALLFP'
   68 |      "Keen Must Die!", MNU_CALLFP, mmhandler_newgame, 3,
      |                        ^~~~~~~~~~
menu.h:61:22: note: (near initialization for 'selectep_menu[16]')
   61 | #define MNU_CALLFP   2  // 3rd arg is a funcpointer to call when selected
      |                      ^
menumanager.c:68:24: note: in expansion of macro 'MNU_CALLFP'
   68 |      "Keen Must Die!", MNU_CALLFP, mmhandler_newgame, 3,
      |                        ^~~~~~~~~~
menumanager.c:68:36: warning: initialization of 'unsigned char *' from incompatible pointer type 'char (*)(int)' [-Wincompatible-pointer-types]
   68 |      "Keen Must Die!", MNU_CALLFP, mmhandler_newgame, 3,
      |                                    ^~~~~~~~~~~~~~~~~
menumanager.c:68:36: note: (near initialization for 'selectep_menu[17]')
menumanager.c:68:55: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   68 |      "Keen Must Die!", MNU_CALLFP, mmhandler_newgame, 3,
      |                                                       ^
menumanager.c:68:55: note: (near initialization for 'selectep_menu[18]')
menumanager.c:69:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   69 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
menumanager.c:69:6: note: (near initialization for 'selectep_menu[19]')
menumanager.c:70:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   70 |      "Load User Map", MNU_SWITCHMENU, custommap_menu, 0,
      |      ^~~~~~~~~~~~~~~
menumanager.c:70:6: note: (near initialization for 'selectep_menu[23]')
In file included from menumanager.c:10:
menu.h:60:25: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:70:23: note: in expansion of macro 'MNU_SWITCHMENU'
   70 |      "Load User Map", MNU_SWITCHMENU, custommap_menu, 0,
      |                       ^~~~~~~~~~~~~~
menu.h:60:25: note: (near initialization for 'selectep_menu[24]')
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:70:23: note: in expansion of macro 'MNU_SWITCHMENU'
   70 |      "Load User Map", MNU_SWITCHMENU, custommap_menu, 0,
      |                       ^~~~~~~~~~~~~~
menumanager.c:70:39: warning: initialization of 'unsigned char *' from incompatible pointer type 'unsigned char **' [-Wincompatible-pointer-types]
   70 |      "Load User Map", MNU_SWITCHMENU, custommap_menu, 0,
      |                                       ^~~~~~~~~~~~~~
menumanager.c:70:39: note: (near initialization for 'selectep_menu[25]')
menumanager.c:71:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   71 |      "Back to Main Menu", MNU_SWITCHMENU, main_menu, 1,
      |      ^~~~~~~~~~~~~~~~~~~
menumanager.c:71:6: note: (near initialization for 'selectep_menu[27]')
In file included from menumanager.c:10:
menu.h:60:25: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:71:27: note: in expansion of macro 'MNU_SWITCHMENU'
   71 |      "Back to Main Menu", MNU_SWITCHMENU, main_menu, 1,
      |                           ^~~~~~~~~~~~~~
menu.h:60:25: note: (near initialization for 'selectep_menu[28]')
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:71:27: note: in expansion of macro 'MNU_SWITCHMENU'
   71 |      "Back to Main Menu", MNU_SWITCHMENU, main_menu, 1,
      |                           ^~~~~~~~~~~~~~
menumanager.c:71:43: warning: initialization of 'unsigned char *' from incompatible pointer type 'unsigned char **' [-Wincompatible-pointer-types]
   71 |      "Back to Main Menu", MNU_SWITCHMENU, main_menu, 1,
      |                                           ^~~~~~~~~
menumanager.c:71:43: note: (near initialization for 'selectep_menu[29]')
menumanager.c:71:54: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   71 |      "Back to Main Menu", MNU_SWITCHMENU, main_menu, 1,
      |                                                      ^
menumanager.c:71:54: note: (near initialization for 'selectep_menu[30]')
menumanager.c:75:28: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   75 | uchar *about_menu[MAXM] = {-3,60,  0xff, NULL, NULL, NULL, NULL,
      |                            ^
menumanager.c:75:28: note: (near initialization for 'about_menu[0]')
menumanager.c:75:31: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   75 | uchar *about_menu[MAXM] = {-3,60,  0xff, NULL, NULL, NULL, NULL,
      |                               ^~
menumanager.c:75:31: note: (near initialization for 'about_menu[1]')
menumanager.c:75:36: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   75 | uchar *about_menu[MAXM] = {-3,60,  0xff, NULL, NULL, NULL, NULL,
      |                                    ^~~~
menumanager.c:75:36: note: (near initialization for 'about_menu[2]')
In file included from menumanager.c:8:
keen.h:8:20: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
    8 | #define REVISION   "CloneKeen version 8.4"
      |                    ^~~~~~~~~~~~~~~~~~~~~~~
menumanager.c:76:6: note: in expansion of macro 'REVISION'
   76 |      REVISION, MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~
keen.h:8:20: note: (near initialization for 'about_menu[7]')
    8 | #define REVISION   "CloneKeen version 8.4"
      |                    ^~~~~~~~~~~~~~~~~~~~~~~
menumanager.c:76:6: note: in expansion of macro 'REVISION'
   76 |      REVISION, MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~
menumanager.c:77:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   77 |      "by Caitlin Shaw", MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~~~~~~~~~
menumanager.c:77:6: note: (near initialization for 'about_menu[11]')
menumanager.c:78:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   78 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
menumanager.c:78:6: note: (near initialization for 'about_menu[15]')
In file included from menumanager.c:8:
keen.h:17:21: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   17 |   #define PORTEDBY1 ""
      |                     ^~
menumanager.c:79:6: note: in expansion of macro 'PORTEDBY1'
   79 |      PORTEDBY1, MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~
keen.h:17:21: note: (near initialization for 'about_menu[19]')
   17 |   #define PORTEDBY1 ""
      |                     ^~
menumanager.c:79:6: note: in expansion of macro 'PORTEDBY1'
   79 |      PORTEDBY1, MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~
keen.h:21:20: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   21 |  #define PORTEDBY2 ""
      |                    ^~
menumanager.c:80:6: note: in expansion of macro 'PORTEDBY2'
   80 |      PORTEDBY2, MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~
keen.h:21:20: note: (near initialization for 'about_menu[23]')
   21 |  #define PORTEDBY2 ""
      |                    ^~
menumanager.c:80:6: note: in expansion of macro 'PORTEDBY2'
   80 |      PORTEDBY2, MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~
menumanager.c:81:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   81 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
menumanager.c:81:6: note: (near initialization for 'about_menu[27]')
menumanager.c:82:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   82 |      "Based on \"Invasion of the Vorticons\"", MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
menumanager.c:82:6: note: (near initialization for 'about_menu[31]')
menumanager.c:83:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   83 |      "by ID Software. All \"Commander Keen\"", MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
menumanager.c:83:6: note: (near initialization for 'about_menu[35]')
menumanager.c:84:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   84 |      "datafiles are (c)1991 ID Software.", MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
menumanager.c:84:6: note: (near initialization for 'about_menu[39]')
menumanager.c:85:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   85 |      "CloneKeen is an original game engine", MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
menumanager.c:85:6: note: (near initialization for 'about_menu[43]')
menumanager.c:86:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   86 |      "which is compatible with these data", MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
menumanager.c:86:6: note: (near initialization for 'about_menu[47]')
menumanager.c:87:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   87 |      "files.", MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~
menumanager.c:87:6: note: (near initialization for 'about_menu[51]')
menumanager.c:88:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   88 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
menumanager.c:88:6: note: (near initialization for 'about_menu[55]')
menumanager.c:89:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   89 |      "This program is free software under", MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
menumanager.c:89:6: note: (near initialization for 'about_menu[59]')
menumanager.c:90:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   90 |      "the GNU General Public License.", MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
menumanager.c:90:6: note: (near initialization for 'about_menu[63]')
menumanager.c:91:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   91 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
menumanager.c:91:6: note: (near initialization for 'about_menu[67]')
menumanager.c:92:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   92 |      "GR00VY DUDE!", MNU_SWITCHMENU, main_menu, 0
      |      ^~~~~~~~~~~~~~
menumanager.c:92:6: note: (near initialization for 'about_menu[71]')
In file included from menumanager.c:10:
menu.h:60:25: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:92:22: note: in expansion of macro 'MNU_SWITCHMENU'
   92 |      "GR00VY DUDE!", MNU_SWITCHMENU, main_menu, 0
      |                      ^~~~~~~~~~~~~~
menu.h:60:25: note: (near initialization for 'about_menu[72]')
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:92:22: note: in expansion of macro 'MNU_SWITCHMENU'
   92 |      "GR00VY DUDE!", MNU_SWITCHMENU, main_menu, 0
      |                      ^~~~~~~~~~~~~~
menumanager.c:92:38: warning: initialization of 'unsigned char *' from incompatible pointer type 'unsigned char **' [-Wincompatible-pointer-types]
   92 |      "GR00VY DUDE!", MNU_SWITCHMENU, main_menu, 0
      |                                      ^~~~~~~~~
menumanager.c:92:38: note: (near initialization for 'about_menu[73]')
menumanager.c:95:35: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   95 | uchar *cant_play_ep_menu[MAXM] = {23,74,  255, NULL, NULL, NULL, NULL,
      |                                   ^~
menumanager.c:95:35: note: (near initialization for 'cant_play_ep_menu[0]')
menumanager.c:95:38: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   95 | uchar *cant_play_ep_menu[MAXM] = {23,74,  255, NULL, NULL, NULL, NULL,
      |                                      ^~
menumanager.c:95:38: note: (near initialization for 'cant_play_ep_menu[1]')
menumanager.c:95:43: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   95 | uchar *cant_play_ep_menu[MAXM] = {23,74,  255, NULL, NULL, NULL, NULL,
      |                                           ^~~
menumanager.c:95:43: note: (near initialization for 'cant_play_ep_menu[2]')
menumanager.c:96:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   96 |      "You can't play this episode.", MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
menumanager.c:96:6: note: (near initialization for 'cant_play_ep_menu[7]')
menumanager.c:97:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   97 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
menumanager.c:97:6: note: (near initialization for 'cant_play_ep_menu[11]')
menumanager.c:98:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   98 |      "You are missing the data files", MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
menumanager.c:98:6: note: (near initialization for 'cant_play_ep_menu[15]')
menumanager.c:99:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
   99 |      "from the original game, which", MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
menumanager.c:99:6: note: (near initialization for 'cant_play_ep_menu[19]')
menumanager.c:100:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
  100 |      "you need to play it.", MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~~~~~~~~~~~~~~
menumanager.c:100:6: note: (near initialization for 'cant_play_ep_menu[23]')
menumanager.c:101:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
  101 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
menumanager.c:101:6: note: (near initialization for 'cant_play_ep_menu[27]')
menumanager.c:102:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
  102 |      "Obtain the original version of", MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
menumanager.c:102:6: note: (near initialization for 'cant_play_ep_menu[31]')
menumanager.c:103:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
  103 |      "this episode, copy all it's", MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
menumanager.c:103:6: note: (near initialization for 'cant_play_ep_menu[35]')
menumanager.c:104:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
  104 |      "files into the \"data\" subdir,", MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
menumanager.c:104:6: note: (near initialization for 'cant_play_ep_menu[39]')
menumanager.c:105:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
  105 |      "and restart CloneKeen.", MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~
menumanager.c:105:6: note: (near initialization for 'cant_play_ep_menu[43]')
menumanager.c:106:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
  106 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
menumanager.c:106:6: note: (near initialization for 'cant_play_ep_menu[47]')
menumanager.c:107:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
  107 |      "Aw, shucks, ok.", MNU_SWITCHMENU, selectep_menu, 0,
      |      ^~~~~~~~~~~~~~~~~
menumanager.c:107:6: note: (near initialization for 'cant_play_ep_menu[51]')
In file included from menumanager.c:10:
menu.h:60:25: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:107:25: note: in expansion of macro 'MNU_SWITCHMENU'
  107 |      "Aw, shucks, ok.", MNU_SWITCHMENU, selectep_menu, 0,
      |                         ^~~~~~~~~~~~~~
menu.h:60:25: note: (near initialization for 'cant_play_ep_menu[52]')
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:107:25: note: in expansion of macro 'MNU_SWITCHMENU'
  107 |      "Aw, shucks, ok.", MNU_SWITCHMENU, selectep_menu, 0,
      |                         ^~~~~~~~~~~~~~
menumanager.c:107:41: warning: initialization of 'unsigned char *' from incompatible pointer type 'unsigned char **' [-Wincompatible-pointer-types]
  107 |      "Aw, shucks, ok.", MNU_SWITCHMENU, selectep_menu, 0,
      |                                         ^~~~~~~~~~~~~
menumanager.c:107:41: note: (near initialization for 'cant_play_ep_menu[53]')
menumanager.c:110:40: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  110 | uchar *cant_play_usermap_menu[MAXM] = {23,74,  255, NULL, NULL, NULL, NULL,
      |                                        ^~
menumanager.c:110:40: note: (near initialization for 'cant_play_usermap_menu[0]')
menumanager.c:110:43: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  110 | uchar *cant_play_usermap_menu[MAXM] = {23,74,  255, NULL, NULL, NULL, NULL,
      |                                           ^~
menumanager.c:110:43: note: (near initialization for 'cant_play_usermap_menu[1]')
menumanager.c:110:48: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  110 | uchar *cant_play_usermap_menu[MAXM] = {23,74,  255, NULL, NULL, NULL, NULL,
      |                                                ^~~
menumanager.c:110:48: note: (near initialization for 'cant_play_usermap_menu[2]')
menumanager.c:111:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
  111 |      "You can't play this user map.", MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
menumanager.c:111:6: note: (near initialization for 'cant_play_usermap_menu[7]')
menumanager.c:112:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
  112 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
menumanager.c:112:6: note: (near initialization for 'cant_play_usermap_menu[11]')
menumanager.c:113:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
  113 |      "This user map requires the", MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
menumanager.c:113:6: note: (near initialization for 'cant_play_usermap_menu[15]')
menumanager.c:114:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
  114 |      "registered version of Keen.", MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
menumanager.c:114:6: note: (near initialization for 'cant_play_usermap_menu[19]')
menumanager.c:115:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
  115 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
menumanager.c:115:6: note: (near initialization for 'cant_play_usermap_menu[23]')
menumanager.c:116:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
  116 |      "Obtain the original version of", MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
menumanager.c:116:6: note: (near initialization for 'cant_play_usermap_menu[27]')
menumanager.c:117:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
  117 |      "the episode, copy all it's", MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
menumanager.c:117:6: note: (near initialization for 'cant_play_usermap_menu[31]')
menumanager.c:118:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
  118 |      "files into the \"data\" subdir,", MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
menumanager.c:118:6: note: (near initialization for 'cant_play_usermap_menu[35]')
menumanager.c:119:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
  119 |      "and restart CloneKeen.", MNU_SEPERATOR, NULL, 0,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~
menumanager.c:119:6: note: (near initialization for 'cant_play_usermap_menu[39]')
menumanager.c:120:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
  120 |      "", MNU_SEPERATOR, NULL, 0,
      |      ^~
menumanager.c:120:6: note: (near initialization for 'cant_play_usermap_menu[43]')
menumanager.c:121:6: warning: pointer targets in initialization of 'unsigned char *' from 'char *' differ in signedness [-Wpointer-sign]
  121 |      "Aw, shucks, ok.", MNU_SWITCHMENU, main_menu, 0,
      |      ^~~~~~~~~~~~~~~~~
menumanager.c:121:6: note: (near initialization for 'cant_play_usermap_menu[47]')
In file included from menumanager.c:10:
menu.h:60:25: warning: initialization of 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:121:25: note: in expansion of macro 'MNU_SWITCHMENU'
  121 |      "Aw, shucks, ok.", MNU_SWITCHMENU, main_menu, 0,
      |                         ^~~~~~~~~~~~~~
menu.h:60:25: note: (near initialization for 'cant_play_usermap_menu[48]')
   60 | #define MNU_SWITCHMENU  1  // 3rd arg is address of a submenu
      |                         ^
menumanager.c:121:25: note: in expansion of macro 'MNU_SWITCHMENU'
  121 |      "Aw, shucks, ok.", MNU_SWITCHMENU, main_menu, 0,
      |                         ^~~~~~~~~~~~~~
menumanager.c:121:41: warning: initialization of 'unsigned char *' from incompatible pointer type 'unsigned char **' [-Wincompatible-pointer-types]
  121 |      "Aw, shucks, ok.", MNU_SWITCHMENU, main_menu, 0,
      |                                         ^~~~~~~~~
menumanager.c:121:41: note: (near initialization for 'cant_play_usermap_menu[49]')
menumanager.c: In function 'SelectCorrectMM':
menumanager.c:149:20: warning: comparison of distinct pointer types lacks a cast
  149 |   if (menu.curmenu != editor_menu)
      |                    ^~
menumanager.c:150:18: warning: passing argument 1 of 'Menu_InitMenu' from incompatible pointer type [-Wincompatible-pointer-types]
  150 |    Menu_InitMenu(editor_menu);
      |                  ^~~~~~~~~~~
      |                  |
      |                  unsigned char **
In file included from menumanager.c:9:
menumanager.fdh:39:27: note: expected 'unsigned char *' but argument is of type 'unsigned char **'
   39 | void Menu_InitMenu(uchar *whichmenu);
menumanager.c:160:21: warning: comparison of distinct pointer types lacks a cast
  160 |    if (menu.curmenu != ingame_menu_norestart)
      |                     ^~
menumanager.c:162:19: warning: passing argument 1 of 'Menu_InitMenu' from incompatible pointer type [-Wincompatible-pointer-types]
  162 |     Menu_InitMenu(ingame_menu_norestart);
      |                   ^~~~~~~~~~~~~~~~~~~~~
      |                   |
      |                   unsigned char **
In file included from menumanager.c:9:
menumanager.fdh:39:27: note: expected 'unsigned char *' but argument is of type 'unsigned char **'
   39 | void Menu_InitMenu(uchar *whichmenu);
menumanager.c:167:21: warning: comparison of distinct pointer types lacks a cast
  167 |    if (menu.curmenu != ingame_menu)
      |                     ^~
menumanager.c:169:19: warning: passing argument 1 of 'Menu_InitMenu' from incompatible pointer type [-Wincompatible-pointer-types]
  169 |     Menu_InitMenu(ingame_menu);
      |                   ^~~~~~~~~~~
      |                   |
      |                   unsigned char **
In file included from menumanager.c:9:
menumanager.fdh:39:27: note: expected 'unsigned char *' but argument is of type 'unsigned char **'
   39 | void Menu_InitMenu(uchar *whichmenu);
menumanager.c:173:24: warning: comparison of distinct pointer types lacks a cast
  173 |  else if (menu.curmenu != main_menu)
      |                        ^~
menumanager.c:174:17: warning: passing argument 1 of 'Menu_InitMenu' from incompatible pointer type [-Wincompatible-pointer-types]
  174 |   Menu_InitMenu(main_menu);
      |                 ^~~~~~~~~
      |                 |
      |                 unsigned char **
In file included from menumanager.c:9:
menumanager.fdh:39:27: note: expected 'unsigned char *' but argument is of type 'unsigned char **'
   39 | void Menu_InitMenu(uchar *whichmenu);
menumanager.c: In function 'DrawMenuText':
menumanager.c:181:18: warning: initialization of 'unsigned char *' from incompatible pointer type 'unsigned char * (*)[150]' [-Wincompatible-pointer-types]
  181 | uchar *curmenu = menu.curmenu;
      |                  ^~~~
menumanager.c:186:18: warning: comparison of distinct pointer types lacks a cast
  186 |  if (menu.curmenu==main_menu || \
      |                  ^~
menumanager.c:187:15: warning: comparison of distinct pointer types lacks a cast
  187 |   menu.curmenu==ingame_menu || \
      |               ^~
menumanager.c:188:15: warning: comparison of distinct pointer types lacks a cast
  188 |   menu.curmenu==ingame_menu_norestart)
      |               ^~
menumanager.c:193:4: warning: assignment to 'int' from 'unsigned char *' makes integer from pointer without a cast [-Wint-conversion]
  193 |  x = (*menu.curmenu)[HD_X];
      |    ^
menumanager.c:194:4: warning: assignment to 'int' from 'unsigned char *' makes integer from pointer without a cast [-Wint-conversion]
  194 |  y = (*menu.curmenu)[HD_Y];
      |    ^
menumanager.c:201:8: warning: pointer targets in assignment from 'unsigned char *' to 'char *' differ in signedness [-Wpointer-sign]
  201 |   text = (*menu.curmenu)[index];
      |        ^
menumanager.c:202:39: warning: comparison between pointer and integer
  202 |   if ((*menu.curmenu)[index+ITM_TYPE] == MNU_DYNAMICTEXT)
      |                                       ^~
menumanager.c:204:12: warning: assignment to 'char * (*)(unsigned char *, char,  unsigned char)' from incompatible pointer type 'unsigned char *' [-Wincompatible-pointer-types]
  204 |    dyn_ptr = (*menu.curmenu)[index+ITM_PTR];
      |            ^
menumanager.c:205:22: warning: pointer targets in passing argument 1 of 'dyn_ptr' differ in signedness [-Wpointer-sign]
  205 |    text = (*dyn_ptr)(text, 0, (*menu.curmenu)[index+ITM_FLAGS]);
      |                      ^~~~
      |                      |
      |                      char *
menumanager.c:205:22: note: expected 'unsigned char *' but argument is of type 'char *'
menumanager.c:205:46: warning: passing argument 3 of 'dyn_ptr' makes integer from pointer without a cast [-Wint-conversion]
  205 |    text = (*dyn_ptr)(text, 0, (*menu.curmenu)[index+ITM_FLAGS]);
      |                               ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
      |                                              |
      |                                              unsigned char *
menumanager.c:205:46: note: expected 'unsigned char' but argument is of type 'unsigned char *'
menumanager.c:207:13: warning: pointer targets in passing argument 1 of 'font_draw' differ in signedness [-Wpointer-sign]
  207 |   font_draw(text, x, y, drawcharacter_clear);
      |             ^~~~
      |             |
      |             char *
In file included from menumanager.c:9:
menumanager.fdh:20:31: note: expected 'unsigned char *' but argument is of type 'char *'
   20 | void font_draw(unsigned char *text, int xs, int y, void (*drawingfunc)());
      |                ~~~~~~~~~~~~~~~^~~~
menumanager.c:211:37: warning: passing argument 1 of 'twirly_draw' makes integer from pointer without a cast [-Wint-conversion]
  211 |    twirly_draw((*menu.curmenu)[HD_X]+8, y+menu.twirly_yoff,
      |                ~~~~~~~~~~~~~~~~~~~~~^~
      |                                     |
      |                                     unsigned char *
In file included from menumanager.c:9:
menumanager.fdh:61:22: note: expected 'int' but argument is of type 'unsigned char *'
   61 | void twirly_draw(int x, int y, int *frame);
      |                  ~~~~^
menumanager.c:181:8: warning: unused variable 'curmenu' [-Wunused-variable]
  181 | uchar *curmenu = menu.curmenu;
      |        ^~~~~~~
menumanager.c: In function 'Menu_CallDismissalFunc':
menumanager.c:227:11: warning: assignment to 'void (*)(void)' from incompatible pointer type 'unsigned char *' [-Wincompatible-pointer-types]
  227 |   funcptr = (*menu.curmenu)[HD_DISMISSALFUNC];
      |           ^
menumanager.c: In function 'Menu_InitMenu':
menumanager.c:242:15: warning: assignment to 'unsigned char * (*)[150]' from incompatible pointer type 'unsigned char *' [-Wincompatible-pointer-types]
  242 |  menu.curmenu = whichmenu;
      |               ^
menumanager.c:243:17: warning: assignment to 'int' from 'unsigned char *' makes integer from pointer without a cast [-Wint-conversion]
  243 |  menu.curoption = (*menu.curmenu)[HD_STARTINGOPT];
      |                 ^
menumanager.c:265:10: warning: assignment to 'void (*)(void)' from incompatible pointer type 'unsigned char *' [-Wincompatible-pointer-types]
  265 |  funcptr = (*menu.curmenu)[HD_ENTERFUNC];
      |          ^
menumanager.c: In function 'Menu_ToMain':
menumanager.c:271:16: warning: passing argument 1 of 'Menu_InitMenu' from incompatible pointer type [-Wincompatible-pointer-types]
  271 |  Menu_InitMenu(main_menu);
      |                ^~~~~~~~~
      |                |
      |                unsigned char **
menumanager.c:235:27: note: expected 'unsigned char *' but argument is of type 'unsigned char **'
  235 | void Menu_InitMenu(uchar *whichmenu)
menumanager.c: In function 'Menu_SelectOption':
menumanager.c:278:16: warning: initialization of 'unsigned char' from 'unsigned char *' makes integer from pointer without a cast [-Wint-conversion]
  278 | uchar action = (*menu.curmenu)[index+ITM_TYPE];
      |                ^
menumanager.c:279:13: warning: initialization of 'unsigned char' from 'unsigned char *' makes integer from pointer without a cast [-Wint-conversion]
  279 | uchar arg = (*menu.curmenu)[index+ITM_FLAGS];
      |             ^
menumanager.c:289:12: warning: pointer targets in assignment from 'unsigned char *' to 'char *' differ in signedness [-Wpointer-sign]
  289 |    newmenu = (*menu.curmenu)[index+ITM_PTR];
      |            ^
menumanager.c:290:18: warning: pointer targets in passing argument 1 of 'Menu_InitMenu' differ in signedness [-Wpointer-sign]
  290 |    Menu_InitMenu(newmenu);
      |                  ^~~~~~~
      |                  |
      |                  char *
menumanager.c:235:27: note: expected 'unsigned char *' but argument is of type 'char *'
  235 | void Menu_InitMenu(uchar *whichmenu)
menumanager.c:294:12: warning: assignment to 'char (*)(int)' from incompatible pointer type 'unsigned char *' [-Wincompatible-pointer-types]
  294 |    funcptr = (*menu.curmenu)[index+ITM_PTR];
      |            ^
menumanager.c:303:12: warning: assignment to 'char (*)(char *, char,  unsigned char)' from incompatible pointer type 'unsigned char *' [-Wincompatible-pointer-types]
  303 |    dyn_ptr = (*menu.curmenu)[index+ITM_PTR];
      |            ^
menumanager.c:304:30: warning: pointer targets in passing argument 1 of 'dyn_ptr' differ in signedness [-Wpointer-sign]
  304 |    (*dyn_ptr)((*menu.curmenu)[index], 1, (*menu.curmenu)[index+ITM_FLAGS]);
      |               ~~~~~~~~~~~~~~~^~~~~~~
      |                              |
      |                              unsigned char *
menumanager.c:304:30: note: expected 'char *' but argument is of type 'unsigned char *'
menumanager.c:304:57: warning: passing argument 3 of 'dyn_ptr' makes integer from pointer without a cast [-Wint-conversion]
  304 |    (*dyn_ptr)((*menu.curmenu)[index], 1, (*menu.curmenu)[index+ITM_FLAGS]);
      |                                          ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
      |                                                         |
      |                                                         unsigned char *
menumanager.c:304:57: note: expected 'unsigned char' but argument is of type 'unsigned char *'
menumanager.c: In function 'Menu_DrawMenu':
menumanager.c:334:19: warning: comparison of distinct pointer types lacks a cast
  334 |  if (menu.curmenu != option_menu)
      |                   ^~
menumanager.c: In function 'menu_gettype':
menumanager.c:346:24: warning: returning 'unsigned char *' from a function with return type 'int' makes integer from pointer without a cast [-Wint-conversion]
  346 |  return (*menu.curmenu)[index+ITM_TYPE];
      |         ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
menumanager.c: In function 'move_down':
menumanager.c:370:14: warning: assignment to 'char (*)(char)' from incompatible pointer type 'unsigned char *' [-Wincompatible-pointer-types]
  370 |   scrollfunc = (*menu.curmenu)[HD_SCROLLFUNC];
      |              ^
menumanager.c: In function 'move_up':
menumanager.c:400:14: warning: assignment to 'char (*)(char)' from incompatible pointer type 'unsigned char *' [-Wincompatible-pointer-types]
  400 |   scrollfunc = (*menu.curmenu)[HD_SCROLLFUNC];
      |              ^
menumanager.c: In function 'goto_epmenu':
menumanager.c:516:16: warning: passing argument 1 of 'Menu_InitMenu' from incompatible pointer type [-Wincompatible-pointer-types]
  516 |  Menu_InitMenu(&selectep_menu);
      |                ^~~~~~~~~~~~~~
      |                |
      |                unsigned char * (*)[150]
menumanager.c:235:27: note: expected 'unsigned char *' but argument is of type 'unsigned char * (*)[150]'
  235 | void Menu_InitMenu(uchar *whichmenu)
menumanager.c: In function 'mmhandler_newgame':
menumanager.c:530:17: warning: passing argument 1 of 'Menu_InitMenu' from incompatible pointer type [-Wincompatible-pointer-types]
  530 |   Menu_InitMenu(&cant_play_ep_menu);
      |                 ^~~~~~~~~~~~~~~~~~
      |                 |
      |                 unsigned char * (*)[150]
menumanager.c:235:27: note: expected 'unsigned char *' but argument is of type 'unsigned char * (*)[150]'
  235 | void Menu_InitMenu(uchar *whichmenu)
menumanager.c: In function 'mmhandler_restartlevel':
menumanager.c:543:17: warning: passing argument 1 of 'Menu_InitMenu' from incompatible pointer type [-Wincompatible-pointer-types]
  543 |   Menu_InitMenu(&endgame_menu);
      |                 ^~~~~~~~~~~~~
      |                 |
      |                 unsigned char * (*)[150]
menumanager.c:235:27: note: expected 'unsigned char *' but argument is of type 'unsigned char * (*)[150]'
  235 | void Menu_InitMenu(uchar *whichmenu)
menumanager.c: In function 'mmhandler_quit':
menumanager.c:563:17: warning: passing argument 1 of 'Menu_InitMenu' from incompatible pointer type [-Wincompatible-pointer-types]
  563 |   Menu_InitMenu(quit_menu);
      |                 ^~~~~~~~~
      |                 |
      |                 unsigned char **
menumanager.c:235:27: note: expected 'unsigned char *' but argument is of type 'unsigned char **'
  235 | void Menu_InitMenu(uchar *whichmenu)
At top level:
menumanager.c:13:13: warning: 'tempbuf' defined but not used [-Wunused-variable]
   13 | static char tempbuf[200];
      |             ^~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c customepisode.c -o customepisode.o
customepisode.c: In function 'LoadFlagsIni':
customepisode.c:32:52: warning: implicit declaration of function 'LoadVGASprites' [-Wimplicit-function-declaration]
   32 |  if (Ini_GetNumericKeyDef(iname, "VGASprites", 0)) LoadVGASprites();
      |                                                    ^~~~~~~~~~~~~~
customepisode.c:33:50: warning: implicit declaration of function 'LoadVGATiles' [-Wimplicit-function-declaration]
   33 |  if (Ini_GetNumericKeyDef(iname, "VGATiles", 0)) LoadVGATiles();
      |                                                  ^~~~~~~~~~~~
customepisode.c: In function 'GuessWhichEpisode':
customepisode.c:68:9: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
   68 |   fname = GetFileAtIndex(i);
      |         ^
customepisode.c:59:5: warning: unused variable 'ep' [-Wunused-variable]
   59 | int ep;
      |     ^~
customepisode.c: In function 'LoadFlagsIni':
customepisode.c:14:20: warning: '%s' directive writing 9 bytes into a region of size between 1 and 1024 [-Wformat-overflow=]
   14 |  sprintf(iname, "%s%s", levelcontrol.custom_episode_path, EPCONFIG_NAME);
      |                    ^~
In file included from /usr/include/stdio.h:867,
                 from keen.h:2,
                 from customepisode.c:2:
/usr/include/bits/stdio2.h:36:10: note: '__builtin___sprintf_chk' output between 10 and 1033 bytes into a destination of size 1024
   36 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   37 |       __bos (__s), __fmt, __va_arg_pack ());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c savegame.c -o savegame.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c sgrle.c -o sgrle.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c lprintf.c -o lprintf.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c cinematics/seqcommon.c -o cinematics/seqcommon.o
cinematics/seqcommon.c: In function 'showmapatpos':
cinematics/seqcommon.c:71:6: warning: unused variable 'levelname' [-Wunused-variable]
   71 | char levelname[80];
      |      ^~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c vgatiles.c -o vgatiles.o
In file included from vgatiles.c:4:
tga.c: In function 'LoadTGA':
tga.c:52:2: warning: ignoring return value of 'fread', declared with attribute warn_unused_result [-Wunused-result]
   52 |  fread(*image, imgdatasize, 1, fp);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c message.c -o message.o
message.c: In function 'message':
message.c:51:10: warning: pointer targets in passing argument 1 of 'strcpy' differ in signedness [-Wpointer-sign]
   51 |   strcpy(msg, newmsg);
      |          ^~~
      |          |
      |          unsigned char *
In file included from /usr/include/features.h:450,
                 from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdio.h:27,
                 from keen.h:2,
                 from message.c:5:
/usr/include/bits/string_fortified.h:88:1: note: expected 'char * restrict' but argument is of type 'unsigned char *'
   88 | __NTH (strcpy (char *__restrict __dest, const char *__restrict __src))
      | ^~~~~
message.c:57:10: warning: pointer targets in passing argument 1 of 'strcpy' differ in signedness [-Wpointer-sign]
   57 |   strcpy(vismsg, newmsg);
      |          ^~~~~~
      |          |
      |          unsigned char *
In file included from /usr/include/features.h:450,
                 from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdio.h:27,
                 from keen.h:2,
                 from message.c:5:
/usr/include/bits/string_fortified.h:88:1: note: expected 'char * restrict' but argument is of type 'unsigned char *'
   88 | __NTH (strcpy (char *__restrict __dest, const char *__restrict __src))
      | ^~~~~
message.c:32:5: warning: unused variable 'len' [-Wunused-variable]
   32 | int len = strlen(newmsg);
      |     ^~~
message.c: In function 'message_do':
message.c:153:13: warning: pointer targets in passing argument 1 of 'strcpy' differ in signedness [-Wpointer-sign]
  153 |      strcpy(vismsg, msg);
      |             ^~~~~~
      |             |
      |             unsigned char *
In file included from /usr/include/features.h:450,
                 from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdio.h:27,
                 from keen.h:2,
                 from message.c:5:
/usr/include/bits/string_fortified.h:88:1: note: expected 'char * restrict' but argument is of type 'unsigned char *'
   88 | __NTH (strcpy (char *__restrict __dest, const char *__restrict __src))
      | ^~~~~
message.c:153:21: warning: pointer targets in passing argument 2 of 'strcpy' differ in signedness [-Wpointer-sign]
  153 |      strcpy(vismsg, msg);
      |                     ^~~
      |                     |
      |                     unsigned char *
In file included from /usr/include/features.h:450,
                 from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdio.h:27,
                 from keen.h:2,
                 from message.c:5:
/usr/include/bits/string_fortified.h:88:1: note: expected 'const char * restrict' but argument is of type 'unsigned char *'
   88 | __NTH (strcpy (char *__restrict __dest, const char *__restrict __src))
      | ^~~~~
message.c:135:6: warning: unused variable 'btn_down' [-Wunused-variable]
  135 | char btn_down = 0;
      |      ^~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c lz.c -o lz.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c cinematics/TBC.c -o cinematics/TBC.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c cinematics/mortimer.c -o cinematics/mortimer.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c cinematics/e1ending.c -o cinematics/e1ending.o
cinematics/e1ending.c: In function 'BackAtHisShip_Start':
cinematics/e1ending.c:78:5: warning: unused variable 'i' [-Wunused-variable]
   78 | int i;
      |     ^
cinematics/e1ending.c: In function 'BackAtHome_Do':
cinematics/e1ending.c:324:24: warning: array subscript has type 'char' [-Wchar-subscripts]
  324 |   else message(bahtext[++curtext], dlgX, dlgY, dlgW, dlgH, 1, 0);
      |                        ^~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c cinematics/e3ending.c -o cinematics/e3ending.o
cinematics/e3ending.c: In function 'TakingPictures_Start':
cinematics/e3ending.c:45:5: warning: unused variable 'i' [-Wunused-variable]
   45 | int i;
      |     ^
cinematics/e3ending.c: In function 'TheEnd_Start':
cinematics/e3ending.c:203:6: warning: unused variable 'pagename' [-Wunused-variable]
  203 | char pagename[80];
      |      ^~~~~~~~
cinematics/e3ending.c:202:5: warning: unused variable 'i' [-Wunused-variable]
  202 | int i;
      |     ^
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c globals.c -o globals.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c FinaleScreenLoader.c -o FinaleScreenLoader.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c latch.c -o latch.o
latch.c: In function 'latch_loadlatch':
latch.c:224:33: warning: pointer targets in passing argument 2 of 'lz_decompress' differ in signedness [-Wpointer-sign]
  224 |   ok = lz_decompress(latchfile, RawData);
      |                                 ^~~~~~~
      |                                 |
      |                                 char *
In file included from latch.c:7:
latch.fdh:38:49: note: expected 'unsigned char *' but argument is of type 'char *'
   38 | char lz_decompress(FILE *lzfile, unsigned char *outbuffer);
      |                                  ~~~~~~~~~~~~~~~^~~~~~~~~
latch.c:352:21: warning: pointer targets in assignment from 'char *' to 'unsigned char *' differ in signedness [-Wpointer-sign]
  352 |    bitmaps[b].bmptr = bmdataptr;
      |                     ^
latch.c: In function 'latch_loadsprites':
latch.c:409:32: warning: pointer targets in passing argument 2 of 'lz_decompress' differ in signedness [-Wpointer-sign]
  409 |   if (lz_decompress(spritfile, RawData)) return 1;
      |                                ^~~~~~~
      |                                |
      |                                char *
In file included from latch.c:7:
latch.fdh:38:49: note: expected 'unsigned char *' but argument is of type 'char *'
   38 | char lz_decompress(FILE *lzfile, unsigned char *outbuffer);
      |                                  ~~~~~~~~~~~~~~~^~~~~~~~~
latch.c: In function 'latch_loadlatch':
latch.c:231:3: warning: ignoring return value of 'fread', declared with attribute warn_unused_result [-Wunused-result]
  231 |   fread(RawData, RawDataSize, 1, latchfile);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
latch.c: In function 'latch_loadsprites':
latch.c:414:3: warning: ignoring return value of 'fread', declared with attribute warn_unused_result [-Wunused-result]
  414 |   fread(RawData, RawDataSize, 1, spritfile);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c cinematics/blowupworld.c -o cinematics/blowupworld.o
cinematics/blowupworld.c: In function 'blow_up_world':
cinematics/blowupworld.c:79:28: warning: implicit declaration of function 'endlevel' [-Wimplicit-function-declaration]
   79 | void blow_up_world(void) { endlevel(HIT_TANTALUS_SWITCH); }
      |                            ^~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c graphicmaker.c -o graphicmaker.o
graphicmaker.c: In function 'Make_Font_Clear':
graphicmaker.c:88:19: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
   88 |        if (xa==-1 && x==0 || ya==-1 && y==0) goto onedge;
      |            ~~~~~~~^~~~~~~
graphicmaker.c:89:18: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
   89 |        if (xa==1 && x==7 || ya==1 && y==7) goto onedge;
      |            ~~~~~~^~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c ai/garg.c -o ai/garg.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c ai/butler.c -o ai/butler.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c ai/yorp.c -o ai/yorp.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c ai/vort.c -o ai/vort.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c ai/door.c -o ai/door.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c ai/icecannon.c -o ai/icecannon.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c ai/ray.c -o ai/ray.o
ai/ray.c: In function 'ray_ai':
ai/ray.c:44:3: warning: this 'else' clause does not guard... [-Wmisleading-indentation]
   44 |   else
      |   ^~~~
ai/ray.c:48:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'else'
   48 |  switch(objects[o].ai.ray.state)
      |  ^~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c ai/teleport.c -o ai/teleport.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c ai/rope.c -o ai/rope.o
ai/rope.c: In function 'rope_ai':
ai/rope.c:21:5: warning: unused variable 'i' [-Wunused-variable]
   21 | int i,x;
      |     ^
ai/rope.c: In function 'rope_movestone':
ai/rope.c:76:5: warning: unused variable 'i' [-Wunused-variable]
   76 | int i;
      |     ^
ai/rope.c:75:10: warning: unused variable 'ypix' [-Wunused-variable]
   75 | int xpix,ypix;
      |          ^~~~
ai/rope.c:75:5: warning: unused variable 'xpix' [-Wunused-variable]
   75 | int xpix,ypix;
      |     ^~~~
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c ai/tank.c -o ai/tank.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c ai/platform.c -o ai/platform.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c ai/tankep2.c -o ai/tankep2.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c ai/platvert.c -o ai/platvert.o
ai/platvert.c: In function 'platvert_ai':
ai/platvert.c:19:5: warning: unused variable 'needtokick' [-Wunused-variable]
   19 | int needtokick;
      |     ^~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c ai/baby.c -o ai/baby.o
ai/baby.c: In function 'baby_ai':
ai/baby.c:175:38: warning: bitwise comparison always evaluates to false [-Wtautological-compare]
  175 |          if ((rnd()&BABY_BOUNCE_PROB)==BABY_BOUNCE_PROB/2) baby_jump(o, BABY_JUMP_BIG);
      |                                      ^~
ai/baby.c:188:38: warning: bitwise comparison always evaluates to false [-Wtautological-compare]
  188 |          if ((rnd()&BABY_BOUNCE_PROB)==BABY_BOUNCE_PROB/2) baby_jump(o, BABY_JUMP_BIG);
      |                                      ^~
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c ai/earth.c -o ai/earth.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c ai/foob.c -o ai/foob.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c ai/walker.c -o ai/walker.o
ai/walker.c: In function 'walker_ai':
ai/walker.c:84:17: warning: 'i' may be used uninitialized in this function [-Wmaybe-uninitialized]
   84 |        player[i].psupportingobject!=o)
      |        ~~~~~~~~~^~~~~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c ai/sndwave.c -o ai/sndwave.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c ai/meep.c -o ai/meep.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c ai/vortelite.c -o ai/vortelite.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c ai/ninja.c -o ai/ninja.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c ai/fireball.c -o ai/fireball.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c ai/autoray.c -o ai/autoray.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c ai/balljack.c -o ai/balljack.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c ai/mother.c -o ai/mother.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c ai/gotpoints.c -o ai/gotpoints.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c sdl/timedrv.c -o sdl/timedrv.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c sdl/keydrv.c -o sdl/keydrv.o
sdl/keydrv.c: In function 'KeyDrv_GetKeyMapping':
sdl/keydrv.c:176:10: warning: pointer targets in returning 'char *' from a function with return type 'unsigned char *' differ in signedness [-Wpointer-sign]
  176 |   return beingset;
      |          ^~~~~~~~
sdl/keydrv.c:180:20: warning: pointer targets in returning 'char *' from a function with return type 'unsigned char *' differ in signedness [-Wpointer-sign]
  180 |  if (!ksym) return noksym;
      |                    ^~~~~~
sdl/keydrv.c:187:10: warning: pointer targets in returning 'char *' from a function with return type 'unsigned char *' differ in signedness [-Wpointer-sign]
  187 |   return knbuf;
      |          ^~~~~
sdl/keydrv.c:192:10: warning: pointer targets in returning 'char *' from a function with return type 'unsigned char *' differ in signedness [-Wpointer-sign]
  192 |   return knbuf;
      |          ^~~~~
sdl/keydrv.c:194:9: warning: pointer targets in returning 'char *' from a function with return type 'unsigned char *' differ in signedness [-Wpointer-sign]
  194 |  return kname;
      |         ^~~~~
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c ai/nessie.c -o ai/nessie.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c sdl/viddrv.c -o sdl/viddrv.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c ai/se.c -o ai/se.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c scale2x/pixel.c -o scale2x/pixel.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c platform.cpp -o platform.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c scale2x/scalebit.c -o scale2x/scalebit.o
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c sdl/snddrv.c -o sdl/snddrv.o
sdl/snddrv.c: In function 'sound_load':
sdl/snddrv.c:176:16: warning: array subscript has type 'char' [-Wchar-subscripts]
  176 |          sounds[loadnum].sounddata[i] = SOUND_FREQ_DIVISOR / sndbyte;
      |                ^
sdl/snddrv.c:180:10: warning: array subscript has type 'char' [-Wchar-subscripts]
  180 |    sounds[loadnum].sounddata[i] = sndbyte;
      |          ^
sdl/snddrv.c:184:12: warning: array subscript has type 'char' [-Wchar-subscripts]
  184 |      sounds[loadnum].priority = priority;
      |            ^
sdl/snddrv.c: In function 'SoundDrv_GenWaveform':
sdl/snddrv.c:288:35: warning: array subscript has type 'char' [-Wchar-subscripts]
  288 |    Chan->desiredfreq = sounds[Chan->current_sound].sounddata[Chan->sound_ptr];
      |                               ~~~~^~~~~~~~~~~~~~~
sdl/snddrv.c: In function 'sound_play':
sdl/snddrv.c:466:22: warning: array subscript has type 'char' [-Wchar-subscripts]
  466 |       if (SndChannels[chnl].sound_playing)
      |                      ^
sdl/snddrv.c:468:31: warning: array subscript has type 'char' [-Wchar-subscripts]
  468 |         if (sounds[SndChannels[chnl].current_sound].priority > sounds[snd].priority)
      |                               ^
sdl/snddrv.c:468:37: warning: array subscript has type 'char' [-Wchar-subscripts]
  468 |         if (sounds[SndChannels[chnl].current_sound].priority > sounds[snd].priority)
      |                    ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
sdl/snddrv.c:481:21: warning: array subscript has type 'char' [-Wchar-subscripts]
  481 |     if (!SndChannels[chnl].sound_playing)
      |                     ^
sdl/snddrv.c:490:27: warning: array subscript has type 'char' [-Wchar-subscripts]
  490 |     if (sounds[SndChannels[chnl].current_sound].priority <= sounds[snd].priority)
      |                           ^
sdl/snddrv.c:490:33: warning: array subscript has type 'char' [-Wchar-subscripts]
  490 |     if (sounds[SndChannels[chnl].current_sound].priority <= sounds[snd].priority)
      |                ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
sdl/snddrv.c:516:14: warning: array subscript has type 'char' [-Wchar-subscripts]
  516 |   SndChannels[chnl].current_sound = snd;
      |              ^
sdl/snddrv.c:517:14: warning: array subscript has type 'char' [-Wchar-subscripts]
  517 |   SndChannels[chnl].sound_ptr = 0;
      |              ^
sdl/snddrv.c:518:14: warning: array subscript has type 'char' [-Wchar-subscripts]
  518 |   SndChannels[chnl].sound_timer = 0;
      |              ^
sdl/snddrv.c:519:14: warning: array subscript has type 'char' [-Wchar-subscripts]
  519 |   SndChannels[chnl].sound_playing = 1;
      |              ^
sdl/snddrv.c:520:14: warning: array subscript has type 'char' [-Wchar-subscripts]
  520 |   SndChannels[chnl].waveState = WAVE_IN;
      |              ^
sdl/snddrv.c:521:14: warning: array subscript has type 'char' [-Wchar-subscripts]
  521 |   SndChannels[chnl].freqtimer = 0;
      |              ^
sdl/snddrv.c:522:14: warning: array subscript has type 'char' [-Wchar-subscripts]
  522 |   SndChannels[chnl].sound_forced = 0;
      |              ^
sdl/snddrv.c:524:17: warning: array subscript has type 'char' [-Wchar-subscripts]
  524 |      SndChannels[chnl].sound_forced = 1;
      |                 ^
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c scale2x/scale3x.c -o scale2x/scale3x.o
scale2x/scale3x.c:441:13: warning: 'scale3x_32_def_whole' defined but not used [-Wunused-function]
  441 | static void scale3x_32_def_whole(scale3x_uint32* restrict dst0, scale3x_uint32* restrict dst1, scale3x_uint32* restrict dst2, const scale3x_uint32* restrict src0, const scale3x_uint32* restrict src1, const scale3x_uint32* restrict src2, unsigned count)
      |             ^~~~~~~~~~~~~~~~~~~~
scale2x/scale3x.c:248:13: warning: 'scale3x_16_def_whole' defined but not used [-Wunused-function]
  248 | static void scale3x_16_def_whole(scale3x_uint16* restrict dst0, scale3x_uint16* restrict dst1, scale3x_uint16* restrict dst2, const scale3x_uint16* restrict src0, const scale3x_uint16* restrict src1, const scale3x_uint16* restrict src2, unsigned count)
      |             ^~~~~~~~~~~~~~~~~~~~
scale2x/scale3x.c:55:13: warning: 'scale3x_8_def_whole' defined but not used [-Wunused-function]
   55 | static void scale3x_8_def_whole(scale3x_uint8* restrict dst0, scale3x_uint8* restrict dst1, scale3x_uint8* restrict dst2, const scale3x_uint8* restrict src0, const scale3x_uint8* restrict src1, const scale3x_uint8* restrict src2, unsigned count)
      |             ^~~~~~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -c scale2x/scale2x.c -o scale2x/scale2x.o
scale2x/scale2x.c:353:13: warning: 'scale2x_32_def_whole' defined but not used [-Wunused-function]
  353 | static void scale2x_32_def_whole(scale2x_uint32* restrict dst0, scale2x_uint32* restrict dst1, const scale2x_uint32* restrict src0, const scale2x_uint32* restrict src1, const scale2x_uint32* restrict src2, unsigned count)
      |             ^~~~~~~~~~~~~~~~~~~~
scale2x/scale2x.c:204:13: warning: 'scale2x_16_def_whole' defined but not used [-Wunused-function]
  204 | static void scale2x_16_def_whole(scale2x_uint16* restrict dst0, scale2x_uint16* restrict dst1, const scale2x_uint16* restrict src0, const scale2x_uint16* restrict src1, const scale2x_uint16* restrict src2, unsigned count)
      |             ^~~~~~~~~~~~~~~~~~~~
scale2x/scale2x.c:55:13: warning: 'scale2x_8_def_whole' defined but not used [-Wunused-function]
   55 | static void scale2x_8_def_whole(scale2x_uint8* restrict dst0, scale2x_uint8* restrict dst1, const scale2x_uint8* restrict src0, const scale2x_uint8* restrict src1, const scale2x_uint8* restrict src2, unsigned count)
      |             ^~~~~~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
make: Entering directory '/usr/src/RPM/BUILD/keen/src'
gcc -o keen \
 main.o sanity.o game.o gamedo.o \
 gamepdo.o gamepdo_wm.o editor/editor.o editor/autolight.o console.o \
 fileio.o maploader.o map.o graphics.o palette.o \
 fonts.o misc.o misc_ui.o graphicmaker.o ini.o \
 intro.o menumanager.o menu_options.o menu_keysetup.o menu_savegames.o \
 menu_custommap.o editor/menu_editor.o customepisode.o savegame.o twirly.o \
 sgrle.o lprintf.o vgatiles.o latch.o lz.o \
 message.o cinematics/seqcommon.o cinematics/e1ending.o cinematics/e3ending.o cinematics/blowupworld.o \
 cinematics/mortimer.o cinematics/TBC.o FinaleScreenLoader.o globals.o ai/yorp.o \
 ai/garg.o ai/vort.o ai/butler.o ai/tank.o ai/door.o \
 ai/ray.o ai/icecannon.o ai/teleport.o ai/rope.o ai/walker.o \
 ai/tankep2.o ai/platform.o ai/platvert.o ai/vortelite.o ai/se.o \
 ai/baby.o ai/earth.o ai/foob.o ai/ninja.o ai/meep.o \
 ai/sndwave.o ai/mother.o ai/fireball.o ai/balljack.o ai/nessie.o \
 ai/autoray.o ai/gotpoints.o sdl/keydrv.o sdl/snddrv.o sdl/timedrv.o \
 sdl/viddrv.o scale2x/scalebit.o scale2x/scale2x.o scale2x/scale3x.o scale2x/pixel.o \
 platform.o \
 -lSDL -lstdc++ -lm
make: Leaving directory '/usr/src/RPM/BUILD/keen/src'
+ gcc -o clonekeen-extract -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic extract.c -ldynamite
+ gcc -o clonekeen-extract-sounds -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic clonekeen-extract-sounds.c
clonekeen-extract-sounds.c: In function 'main':
clonekeen-extract-sounds.c:167:14: warning: pointer targets in passing argument 1 of 'strcmp' differ in signedness [-Wpointer-sign]
  167 |   if (strcmp(&buf[sounds_start], "SND"))
      |              ^~~~~~~~~~~~~~~~~~
      |              |
      |              unsigned char *
In file included from clonekeen-extract-sounds.c:24:
/usr/include/string.h:137:32: note: expected 'const char *' but argument is of type 'unsigned char *'
  137 | extern int strcmp (const char *__s1, const char *__s2)
      |                    ~~~~~~~~~~~~^~~~
clonekeen-extract-sounds.c:132:9: warning: ignoring return value of 'fread', declared with attribute warn_unused_result [-Wunused-result]
  132 |         fread(tmp, 1, 2, fin);
      |         ^~~~~~~~~~~~~~~~~~~~~
+ exit 0
Executing(%install): /bin/sh -e /usr/src/tmp/rpm-tmp.92217
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ /bin/chmod -Rf u+rwX -- /usr/src/tmp/clonekeen-buildroot
+ :
+ /bin/rm -rf -- /usr/src/tmp/clonekeen-buildroot
+ cd keen
+ mkdir -p /usr/src/tmp/clonekeen-buildroot/usr/bin
+ mkdir -p /usr/src/tmp/clonekeen-buildroot/usr/lib
+ mkdir -p /usr/src/tmp/clonekeen-buildroot/usr/share/clonekeen/data
+ mkdir -p /usr/src/tmp/clonekeen-buildroot/usr/share/clonekeen/gfx
+ install -m 755 src/keen /usr/src/tmp/clonekeen-buildroot/usr/lib/clonekeen
+ install -m 755 clonekeen-extract /usr/src/tmp/clonekeen-buildroot/usr/lib
+ install -m 755 clonekeen-extract-sounds /usr/src/tmp/clonekeen-buildroot/usr/lib
+ install -p -m 755 /usr/src/RPM/SOURCES/clonekeen.sh /usr/src/tmp/clonekeen-buildroot/usr/bin/clonekeen
+ install -p -m 644 /usr/src/RPM/SOURCES/clonekeen.autodlrc /usr/src/tmp/clonekeen-buildroot/usr/share/clonekeen
+ install -p -m 644 bin/demo.dat bin/ep1attr.dat bin/ep1demo1.dat bin/ep1demo2.dat bin/ep1demo3.dat bin/ep2attr.dat bin/ep2demo1.dat bin/ep2demo2.dat bin/ep2demo3.dat bin/ep3attr.dat bin/ep3demo1.dat bin/ep3demo2.dat bin/ep3demo3.dat bin/ep3demo4.dat bin/strings.dat /usr/src/tmp/clonekeen-buildroot/usr/share/clonekeen
+ install -p -m 644 bin/flags.ini bin/palette.ini /usr/src/tmp/clonekeen-buildroot/usr/share/clonekeen
+ install -p -m 644 bin/gfx/100.tga bin/gfx/1000.tga bin/gfx/200.tga bin/gfx/500.tga bin/gfx/5000.tga bin/gfx/arrowd.tga bin/gfx/arrowlr.tga bin/gfx/arrowu.tga bin/gfx/arrowud.tga bin/gfx/arrowul.tga bin/gfx/arrowur.tga bin/gfx/cklogo1.tga bin/gfx/cklogo2.tga bin/gfx/demobox.tga bin/gfx/gunup.tga bin/gfx/shotup.tga bin/gfx/tile185.tga bin/gfx/tile190.tga bin/gfx/version.tga bin/gfx/yorpshield.tga /usr/src/tmp/clonekeen-buildroot/usr/share/clonekeen/gfx
+ install -p -m 644 bin/data/level17.ck1 bin/data/level18.ck2 bin/data/level19.ck2 /usr/src/tmp/clonekeen-buildroot/usr/share/clonekeen/data
+ install -p -m 644 bin/demolvl.ck1 /usr/src/tmp/clonekeen-buildroot/usr/share/clonekeen
+ mkdir -p /usr/src/tmp/clonekeen-buildroot/usr/share/applications
+ desktop-file-install --dir /usr/src/tmp/clonekeen-buildroot/usr/share/applications /usr/src/RPM/SOURCES/clonekeen.desktop
+ mkdir -p /usr/src/tmp/clonekeen-buildroot/usr/share/icons/hicolor/24x24/apps
+ install -p -m 644 /usr/src/RPM/SOURCES/clonekeen.png /usr/src/tmp/clonekeen-buildroot/usr/share/icons/hicolor/24x24/apps
+ sed -i s,/usr/libexec,/usr/lib,g /usr/src/tmp/clonekeen-buildroot/usr/lib/clonekeen /usr/src/tmp/clonekeen-buildroot/usr/lib/clonekeen-extract /usr/src/tmp/clonekeen-buildroot/usr/lib/clonekeen-extract-sounds /usr/src/tmp/clonekeen-buildroot/usr/bin/clonekeen
+ /usr/lib/rpm/brp-alt
Cleaning files in /usr/src/tmp/clonekeen-buildroot (auto)
Verifying and fixing files in /usr/src/tmp/clonekeen-buildroot (binconfig,pkgconfig,libtool,desktop)
Checking contents of files in /usr/src/tmp/clonekeen-buildroot/ (default)
Compressing files in /usr/src/tmp/clonekeen-buildroot (auto)
Adjusting library links in /usr/src/tmp/clonekeen-buildroot
./usr/lib:
Verifying ELF objects in /usr/src/tmp/clonekeen-buildroot (arch=normal,fhs=normal,lfs=relaxed,lint=relaxed,rpath=normal,stack=normal,textrel=normal,unresolved=normal)
verify-elf: WARNING: ./usr/lib/clonekeen-extract-sounds: uses non-LFS functions: fopen
verify-elf: WARNING: ./usr/lib/clonekeen-extract: uses non-LFS functions: fopen
verify-elf: WARNING: ./usr/lib/clonekeen: uses non-LFS functions: __xstat fopen readdir
Hardlinking identical .pyc and .pyo files
Processing files: clonekeen-0.8.4-alt1_19
Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.69999
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd keen
+ DOCDIR=/usr/src/tmp/clonekeen-buildroot/usr/share/doc/clonekeen-0.8.4
+ export DOCDIR
+ rm -rf /usr/src/tmp/clonekeen-buildroot/usr/share/doc/clonekeen-0.8.4
+ /bin/mkdir -p /usr/src/tmp/clonekeen-buildroot/usr/share/doc/clonekeen-0.8.4
+ cp -prL README src/changelog.txt /usr/src/tmp/clonekeen-buildroot/usr/share/doc/clonekeen-0.8.4
+ chmod -R go-w /usr/src/tmp/clonekeen-buildroot/usr/share/doc/clonekeen-0.8.4
+ chmod -R a+rX /usr/src/tmp/clonekeen-buildroot/usr/share/doc/clonekeen-0.8.4
+ exit 0
Finding Provides (using /usr/lib/rpm/find-provides)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.8rMKDn
find-provides: running scripts (alternatives,debuginfo,lib,pam,perl,pkgconfig,python,shell)
Finding Requires (using /usr/lib/rpm/find-requires)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.XsTKhp
find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,rpmlib,shebang,shell,static,symlinks,systemd-services)
shell.req: /usr/src/tmp/clonekeen-buildroot/usr/bin/clonekeen: /usr/share/autodl/AutoDL.py -> /usr/share/autodl/AutoDL.py (raw, not installed)
find-requires: FINDPACKAGE-COMMANDS: cp mkdir rm unzip
Requires: icon-theme-hicolor, autodownloader, /bin/bash, /lib/ld-linux.so.2, /usr/share/autodl/AutoDL.py, coreutils, libSDL-1.2.so.0 >= set:lg0OuAA2Mm5ZhAiovOnYyMLiUNXJe2jRL2VXGIJVby1cTKNNjC9O4, libc.so.6(GLIBC_2.0), libc.so.6(GLIBC_2.1), libc.so.6(GLIBC_2.1.3), libc.so.6(GLIBC_2.3), libc.so.6(GLIBC_2.3.4), libc.so.6(GLIBC_2.4), libdynamite.so.0 >= set:dcm3, libm.so.6(GLIBC_2.1), rtld(GNU_HASH), unzip
Requires(rpmlib): rpmlib(SetVersions)
Finding debuginfo files (using /usr/lib/rpm/find-debuginfo-files)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.uLKMyn
Creating clonekeen-debuginfo package
Processing files: clonekeen-debuginfo-0.8.4-alt1_19
Finding Provides (using /usr/lib/rpm/find-provides)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.qxl5do
find-provides: running scripts (debuginfo)
Finding Requires (using /usr/lib/rpm/find-requires)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.jw32dr
find-requires: running scripts (debuginfo)
Requires: clonekeen = 0.8.4-alt1_19, /usr/lib/debug/lib/ld-linux.so.2.debug, debug(libSDL-1.2.so.0), debug(libc.so.6), debug(libdynamite.so.0), debug(libm.so.6)
Adding to clonekeen-debuginfo a strict dependency on clonekeen
Wrote: /usr/src/RPM/RPMS/i586/clonekeen-0.8.4-alt1_19.i586.rpm
Wrote: /usr/src/RPM/RPMS/i586/clonekeen-debuginfo-0.8.4-alt1_19.i586.rpm
14.47user 2.05system 0:11.26elapsed 146%CPU (0avgtext+0avgdata 32676maxresident)k
0inputs+0outputs (0major+700059minor)pagefaults 0swaps
22.03user 5.99system 0:22.66elapsed 123%CPU (0avgtext+0avgdata 108672maxresident)k
16688inputs+0outputs (0major+1029759minor)pagefaults 0swaps