make console optional, other fixes
authorBradley Bell <btb@icculus.org>
Mon, 2 Jun 2003 05:56:37 +0000 (05:56 +0000)
committerBradley Bell <btb@icculus.org>
Mon, 2 Jun 2003 05:56:37 +0000 (05:56 +0000)
Makefile.am
arch/sdl/event.c
configure.ac
console/internal.h [new file with mode: 0644]
main/console.c

index b5b72fc..b5cfc9d 100644 (file)
@@ -1,4 +1,6 @@
-SUBDIRS = 2d 3d maths mem cfile iff texmap misc arch main libmve utilities console
+SUBDIRS = 2d 3d maths mem cfile iff texmap misc arch main libmve utilities @D2X_SUBDIRS@
+
+DIST_SUBDIRS = console
 
 EXTRA_SUBDIRS = include unused debian rpm
 
@@ -28,13 +30,17 @@ if EDITOR
 EDITOR_LIBS = main/editor/libeditor.a
 endif
 
+if CONSOLE
+CONSOLE_LIBS = console/libconsole.a
+endif
+
 d2x_SOURCES =
 d2x_sdl_SOURCES =
 d2x_gl_SOURCES =
 d2x_svga_SOURCES =
 d2x_ggi_SOURCES =
 
-d2x_LDADD = ${LD_KLUDGE} main/libmain.a ${EDITOR_LIBS} 3d/lib3d.a 2d/lib2d.a ${ARCH_LIBS} libmve/libmve.a mem/libmem.a cfile/libcfile.a iff/libiff.a texmap/libtexmap.a misc/libmisc.a maths/libmaths.a console/libconsole.a
+d2x_LDADD = ${LD_KLUDGE} main/libmain.a ${EDITOR_LIBS} 3d/lib3d.a 2d/lib2d.a ${ARCH_LIBS} libmve/libmve.a mem/libmem.a cfile/libcfile.a iff/libiff.a texmap/libtexmap.a misc/libmisc.a maths/libmaths.a ${CONSOLE_LIBS}
 
 if MINGW32
 if USE_NETWORK
index 5424362..13a06ec 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: event.c,v 1.10 2003-06-02 01:55:03 btb Exp $ */
+/* $Id: event.c,v 1.11 2003-06-02 05:56:37 btb Exp $ */
 /*
  *
  * SDL Event related stuff
@@ -14,7 +14,9 @@
 #include <stdlib.h>
 
 #include <SDL.h>
+#ifdef CONSOLE
 #include "CON_console.h"
+#endif
 
 extern void key_handler(SDL_KeyboardEvent *event);
 extern void mouse_button_handler(SDL_MouseButtonEvent *mbe);
@@ -32,8 +34,10 @@ void event_poll()
        SDL_Event event;
 
        while (SDL_PollEvent(&event)) {
+#ifdef CONSOLE
                if(!CON_Events(&event))
                        continue;
+#endif
                switch(event.type) {
                case SDL_KEYDOWN:
                case SDL_KEYUP:
index 6538ad8..a4dd36e 100644 (file)
@@ -154,6 +154,15 @@ if test x$enable_fastfileio != xno; then
     D2X_FEATURES="fastfileio ${D2X_FEATURES}"
 fi
 
+dnl Build with CONSOLE?         
+AC_ARG_ENABLE(console,          
+    [  --enable-console        Enable console (experimental) ],,)       
+if test x$enable_console = xyes; then   
+    AC_DEFINE(CONSOLE,,[Define to enable console])      
+    D2X_SUBDIRS=console
+fi      
+AM_CONDITIONAL(CONSOLE, test x$enable_console = xyes)
 AC_ARG_WITH(sharepath,
     [[  --with-sharepath=DIR    Use DIR for shared game data (unix only) [DATADIR/games/d2x]]],
     sharepath=$withval, sharepath="auto")
@@ -348,6 +357,8 @@ AH_BOTTOM([
 
 AM_PROG_AS
 
+AC_SUBST(D2X_SUBDIRS)
+
 AC_SUBST(D2X_ARCH_SUBDIRS)
 
 AC_SUBST(D2X_MAIN_SUBDIRS)
@@ -390,7 +401,7 @@ AC_MSG_RESULT([
         d2x has been configured successfully.
 
         Platform(s): $D2X_ARCH_SUBDIRS
-        Features   : $D2X_FEATURES $D2X_MAIN_SUBDIRS
+        Features   : $D2X_FEATURES $D2X_SUBDIRS $D2X_MAIN_SUBDIRS
 
         Shared game data directory (unix only): $sharepath
         ])
diff --git a/console/internal.h b/console/internal.h
new file mode 100644 (file)
index 0000000..84f0897
--- /dev/null
@@ -0,0 +1,13 @@
+#ifndef _internal_h_
+#define _internal_h_
+
+
+#define PRINT_ERROR(X) fprintf(stderr, "ERROR in %s:%s(): %s\n", __FILE__, __FUNCTION__, X)
+
+Uint32 DT_GetPixel(SDL_Surface *surface, int x, int y);
+void   DT_PutPixel(SDL_Surface *surface, int x, int y, Uint32 pixel);
+
+
+#endif /* _internal_h_ */
+
+
index af146fc..2b66a2e 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: console.c,v 1.10 2003-06-02 01:55:03 btb Exp $ */
+/* $Id: console.c,v 1.11 2003-06-02 05:56:37 btb Exp $ */
 /*
  *
  * FIXME: put description here
@@ -17,7 +17,9 @@
 #include <fcntl.h>
 
 #include <SDL.h>
+#ifdef CONSOLE
 #include "CON_console.h"
+#endif
 
 #include "pstypes.h"
 #include "u_mem.h"
@@ -47,12 +49,14 @@ static char con_display[40][40];
 static int  con_line; /* Current display line */
 #endif
 
+#ifdef CONSOLE
 static int con_initialized;
 
 ConsoleInformation *Console;
 extern SDL_Surface *screen;
 
 void con_parse(ConsoleInformation *console, char *command);
+#endif
 
 
 /* ======
@@ -66,6 +70,7 @@ int con_init(void)
        return 0;
 }
 
+#ifdef CONSOLE
 void real_con_init(void)
 {
        SDL_Rect Con_rect;
@@ -81,6 +86,7 @@ void real_con_init(void)
 
        con_initialized = 1;
 }
+#endif
 
 /* ======
  * con_printf - Print a message to the console.
@@ -102,7 +108,9 @@ void con_printf(int priority, char *fmt, ...)
                        va_end (arglist);
                }
 
+#ifdef CONSOLE
                CON_Out(Console, buffer);
+#endif
 
 /*             for (i=0; i<l; i+=CON_LINE_LEN,con_line++)
                {
@@ -191,9 +199,10 @@ float cvar (char *cvar_name)
  */
 void con_draw(void)
 {
-#if 1
+#ifdef CONSOLE
        CON_DrawConsole(Console);
 #else
+#if 0
        char buffer[CON_LINE_LEN+1];
        int i,j;
        for (i = con_line, j=0; j < 20; i = (i+1) % CON_NUM_LINES, j++)
@@ -203,18 +212,23 @@ void con_draw(void)
                gr_string(1,j*10,buffer);
        }
 #endif
+#endif
 }
 
 void con_show(void)
 {
+#ifdef CONSOLE
        if (!con_initialized)
                real_con_init();
 
        CON_Show(Console);
        CON_Topmost(Console);
+#endif
 }
 
+#if 0
 void con_parse(ConsoleInformation *console, char *command)
 {
        cmd_parse(command);
 }
+#endif