diff -up keen/src/misc.c~ keen/src/misc.c
--- keen/src/misc.c~ 2008-04-03 12:01:37.000000000 +0200
+++ keen/src/misc.c 2008-04-03 12:01:37.000000000 +0200
@@ -7,6 +7,9 @@
*/
#include "keen.h"
+#ifdef BUILD_SDL
+#include <SDL.h>
+#endif
void banner(void)
{
diff -up keen/src/funcdefs.h~ keen/src/funcdefs.h
--- keen/src/funcdefs.h~ 2005-11-16 20:08:16.000000000 +0100
+++ keen/src/funcdefs.h 2008-04-03 12:02:38.000000000 +0200
@@ -88,6 +88,7 @@ void map_animate(int x, int y);
char map_findobject(int obj, int *xout, int *yout);
char map_findtile(int tile, int *xout, int *yout);
void map_redraw(void);
+void map_chgtile(int x, int y, int newtile);
// dos\snddrv.c
char SoundDrv_Start(void);
void SoundDrv_Stop(void);
@@ -123,12 +124,18 @@ void pal_fade(int fadeamt);
void font_draw(unsigned char *text, int xoff, int yoff, int highlight);
void sb_font_draw(unsigned char *text, int xoff, int yoff);
void sb_font_draw_inverse(unsigned char *text, int xoff, int yoff);
+int GetBitmapNumberFromName(char *bmname);
+void DrawBitmap(int xa, int ya, int b);
+void freemem(void);
// viddrv.c
char VidDrv_Start(void);
char VidDrv_CreateSurfaces(void);
void VidDrv_Stop(void);
void VidDrv_reset(void);
+void VidDrv_InitConsole(void);
+void VidDrv_printf(const char *str, ...);
void pal_set(char colour, char red, char green, char blue);
+void pal_apply(void);
void setpixel(int x, int y, unsigned char c);
unsigned char getpixel(int x, int y);
void sb_blit(void);
@@ -176,13 +183,17 @@ void nessie_ai(int o);
void addmaptile(unsigned int t);
void addenemytile(unsigned int t);
unsigned int fgeti(FILE *fp);
+unsigned long fgetl(FILE *fp);
unsigned int loadmap(char *fname, int lvlnum, int isworldmap);
char loadtiles(char *fname);
char loadsprites(char *spritename);
char loadfont(char *fontname);
char loadstrings(char *fname);
+char loadtileattributes(int episode);
int freestrings(void);
char* getstring(char *name);
+int GetStringAttribute(char *stringName, char *attrName);
+
// keydrv.c
char KeyDrv_Start(void);
void KeyDrv_Stop(void);
@@ -210,12 +221,14 @@ char gameiswon(void);
void usage(void);
void radar(void);
void SetAllCanSupportPlayer(int o, int state);
+void AllPlayersInvisible(void);
// menu.c
int mainmenu(int defaultopt);
char configmenu(void);
void showmapatpos(int level, int xoff, int yoff, int wm);
int intro(void);
+void keensleft(void);
// keen.c
void playgame_levelmanager(int argc, char **argv, int dtm);
@@ -234,6 +247,7 @@ void eseq2_vibrate(void);
int eseq2_HeadsForEarth(void);
int eseq2_LimpsHome(void);
void eseq_showmsg(char *text, int boxleft, int boxtop, int boxwidth, int boxheight, char autodismiss);
+int eseq2_SnowedOutside(void);
// eseq_ep3.c
void eseq3_Mortimer(void);
@@ -244,3 +258,20 @@ char TimeDrv_Start(void);
void TimeDrv_Stop(void);
void SpeedThrottle(void);
+// latch.c
+char latch_loadgraphics(int episode);
+
+// sglre.c
+void sgrle_reset(void);
+void sgrle_compress(FILE *fp, unsigned char *ptr, unsigned long nbytes);
+void sgrle_decompress(FILE *fp, unsigned char *ptr, unsigned long nbytes);
+unsigned char sgrle_get_next_byte(FILE *fp);
+
+// lz.c
+char lz_decompress(FILE *lzfile, unsigned char *outbuffer);
+
+// finale.c
+void finale_draw(char *filename);
+
+// scalerx.c
+void scale2x(void* void_dst, unsigned dst_slice, const void* void_src, unsigned src_slice, unsigned pixel, unsigned width, unsigned height);