This commit is contained in:
David Zuber
2019-09-01 14:14:08 +01:00
parent 924ff5f5ef
commit 8e8907f48b
631 changed files with 202169 additions and 0 deletions

View File

@ -0,0 +1,229 @@
compatibility.o: compatibility.c /usr/include/stdlib.h \
/usr/include/features.h /usr/include/sys/cdefs.h \
/usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
/usr/include/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stddef.h \
/usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
/usr/include/endian.h /usr/include/bits/endian.h \
/usr/include/bits/byteswap.h /usr/include/xlocale.h \
/usr/include/sys/types.h /usr/include/bits/types.h \
/usr/include/bits/typesizes.h /usr/include/time.h \
/usr/include/sys/select.h /usr/include/bits/select.h \
/usr/include/bits/sigset.h /usr/include/bits/time.h \
/usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
/usr/include/alloca.h /usr/include/bits/stdlib.h \
../textscreen/textscreen.h ../textscreen/../src/doomkeys.h \
../textscreen/txt_main.h ../textscreen/txt_sdl.h /usr/include/SDL/SDL.h \
/usr/include/SDL/SDL_main.h /usr/include/SDL/SDL_stdinc.h \
/usr/include/SDL/SDL_config.h /usr/include/SDL/SDL_platform.h \
/usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
/usr/include/wchar.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdarg.h \
/usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
/usr/include/bits/stdio.h /usr/include/bits/stdio2.h \
/usr/include/string.h /usr/include/bits/string.h \
/usr/include/bits/string2.h /usr/include/bits/string3.h \
/usr/include/strings.h /usr/include/inttypes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdint.h \
/usr/include/stdint.h /usr/include/bits/wchar.h /usr/include/ctype.h \
/usr/include/iconv.h /usr/include/SDL/begin_code.h \
/usr/include/SDL/close_code.h /usr/include/SDL/SDL_audio.h \
/usr/include/SDL/SDL_error.h /usr/include/SDL/SDL_endian.h \
/usr/include/SDL/SDL_mutex.h /usr/include/SDL/SDL_thread.h \
/usr/include/SDL/SDL_rwops.h /usr/include/SDL/SDL_cdrom.h \
/usr/include/SDL/SDL_cpuinfo.h /usr/include/SDL/SDL_events.h \
/usr/include/SDL/SDL_active.h /usr/include/SDL/SDL_keyboard.h \
/usr/include/SDL/SDL_keysym.h /usr/include/SDL/SDL_mouse.h \
/usr/include/SDL/SDL_video.h /usr/include/SDL/SDL_joystick.h \
/usr/include/SDL/SDL_quit.h /usr/include/SDL/SDL_loadso.h \
/usr/include/SDL/SDL_timer.h /usr/include/SDL/SDL_version.h \
../textscreen/txt_button.h ../textscreen/txt_widget.h \
../textscreen/txt_checkbox.h ../textscreen/txt_desktop.h \
../textscreen/txt_window.h ../textscreen/txt_table.h \
../textscreen/txt_window_action.h ../textscreen/txt_dropdown.h \
../textscreen/txt_inputbox.h ../textscreen/txt_label.h \
../textscreen/txt_radiobutton.h ../textscreen/txt_scrollpane.h \
../textscreen/txt_separator.h ../textscreen/txt_spinctrl.h \
../textscreen/txt_strut.h compatibility.h
/usr/include/stdlib.h:
/usr/include/features.h:
/usr/include/sys/cdefs.h:
/usr/include/bits/wordsize.h:
/usr/include/gnu/stubs.h:
/usr/include/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stddef.h:
/usr/include/bits/waitflags.h:
/usr/include/bits/waitstatus.h:
/usr/include/endian.h:
/usr/include/bits/endian.h:
/usr/include/bits/byteswap.h:
/usr/include/xlocale.h:
/usr/include/sys/types.h:
/usr/include/bits/types.h:
/usr/include/bits/typesizes.h:
/usr/include/time.h:
/usr/include/sys/select.h:
/usr/include/bits/select.h:
/usr/include/bits/sigset.h:
/usr/include/bits/time.h:
/usr/include/sys/sysmacros.h:
/usr/include/bits/pthreadtypes.h:
/usr/include/alloca.h:
/usr/include/bits/stdlib.h:
../textscreen/textscreen.h:
../textscreen/../src/doomkeys.h:
../textscreen/txt_main.h:
../textscreen/txt_sdl.h:
/usr/include/SDL/SDL.h:
/usr/include/SDL/SDL_main.h:
/usr/include/SDL/SDL_stdinc.h:
/usr/include/SDL/SDL_config.h:
/usr/include/SDL/SDL_platform.h:
/usr/include/stdio.h:
/usr/include/libio.h:
/usr/include/_G_config.h:
/usr/include/wchar.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdarg.h:
/usr/include/bits/stdio_lim.h:
/usr/include/bits/sys_errlist.h:
/usr/include/bits/stdio.h:
/usr/include/bits/stdio2.h:
/usr/include/string.h:
/usr/include/bits/string.h:
/usr/include/bits/string2.h:
/usr/include/bits/string3.h:
/usr/include/strings.h:
/usr/include/inttypes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdint.h:
/usr/include/stdint.h:
/usr/include/bits/wchar.h:
/usr/include/ctype.h:
/usr/include/iconv.h:
/usr/include/SDL/begin_code.h:
/usr/include/SDL/close_code.h:
/usr/include/SDL/SDL_audio.h:
/usr/include/SDL/SDL_error.h:
/usr/include/SDL/SDL_endian.h:
/usr/include/SDL/SDL_mutex.h:
/usr/include/SDL/SDL_thread.h:
/usr/include/SDL/SDL_rwops.h:
/usr/include/SDL/SDL_cdrom.h:
/usr/include/SDL/SDL_cpuinfo.h:
/usr/include/SDL/SDL_events.h:
/usr/include/SDL/SDL_active.h:
/usr/include/SDL/SDL_keyboard.h:
/usr/include/SDL/SDL_keysym.h:
/usr/include/SDL/SDL_mouse.h:
/usr/include/SDL/SDL_video.h:
/usr/include/SDL/SDL_joystick.h:
/usr/include/SDL/SDL_quit.h:
/usr/include/SDL/SDL_loadso.h:
/usr/include/SDL/SDL_timer.h:
/usr/include/SDL/SDL_version.h:
../textscreen/txt_button.h:
../textscreen/txt_widget.h:
../textscreen/txt_checkbox.h:
../textscreen/txt_desktop.h:
../textscreen/txt_window.h:
../textscreen/txt_table.h:
../textscreen/txt_window_action.h:
../textscreen/txt_dropdown.h:
../textscreen/txt_inputbox.h:
../textscreen/txt_label.h:
../textscreen/txt_radiobutton.h:
../textscreen/txt_scrollpane.h:
../textscreen/txt_separator.h:
../textscreen/txt_spinctrl.h:
../textscreen/txt_strut.h:
compatibility.h:

View File

@ -0,0 +1,203 @@
configfile.o: configfile.c /usr/include/stdio.h /usr/include/features.h \
/usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
/usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stddef.h \
/usr/include/bits/types.h /usr/include/bits/typesizes.h \
/usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdarg.h \
/usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
/usr/include/bits/stdio.h /usr/include/bits/stdio2.h \
/usr/include/stdlib.h /usr/include/bits/waitflags.h \
/usr/include/bits/waitstatus.h /usr/include/endian.h \
/usr/include/bits/endian.h /usr/include/bits/byteswap.h \
/usr/include/xlocale.h /usr/include/sys/types.h /usr/include/time.h \
/usr/include/sys/select.h /usr/include/bits/select.h \
/usr/include/bits/sigset.h /usr/include/bits/time.h \
/usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
/usr/include/alloca.h /usr/include/bits/stdlib.h /usr/include/ctype.h \
/usr/include/string.h /usr/include/bits/string.h \
/usr/include/bits/string2.h /usr/include/bits/string3.h \
/usr/include/sys/stat.h /usr/include/bits/stat.h \
/usr/include/SDL/SDL_mixer.h /usr/include/SDL/SDL_types.h \
/usr/include/SDL/SDL_stdinc.h /usr/include/SDL/SDL_config.h \
/usr/include/SDL/SDL_platform.h /usr/include/strings.h \
/usr/include/inttypes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdint.h \
/usr/include/stdint.h /usr/include/bits/wchar.h /usr/include/iconv.h \
/usr/include/SDL/begin_code.h /usr/include/SDL/close_code.h \
/usr/include/SDL/SDL_rwops.h /usr/include/SDL/SDL_error.h \
/usr/include/SDL/SDL_audio.h /usr/include/SDL/SDL_endian.h \
/usr/include/SDL/SDL_mutex.h /usr/include/SDL/SDL_thread.h \
/usr/include/SDL/SDL_version.h ../config.h ../src/doomfeatures.h \
../src/doomkeys.h ../src/doomtype.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include-fixed/limits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include-fixed/syslimits.h \
/usr/include/limits.h /usr/include/bits/posix1_lim.h \
/usr/include/bits/local_lim.h /usr/include/linux/limits.h \
/usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
../src/d_englsh.h m_argv.h compatibility.h display.h joystick.h \
keyboard.h mouse.h multiplayer.h sound.h
/usr/include/stdio.h:
/usr/include/features.h:
/usr/include/sys/cdefs.h:
/usr/include/bits/wordsize.h:
/usr/include/gnu/stubs.h:
/usr/include/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stddef.h:
/usr/include/bits/types.h:
/usr/include/bits/typesizes.h:
/usr/include/libio.h:
/usr/include/_G_config.h:
/usr/include/wchar.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdarg.h:
/usr/include/bits/stdio_lim.h:
/usr/include/bits/sys_errlist.h:
/usr/include/bits/stdio.h:
/usr/include/bits/stdio2.h:
/usr/include/stdlib.h:
/usr/include/bits/waitflags.h:
/usr/include/bits/waitstatus.h:
/usr/include/endian.h:
/usr/include/bits/endian.h:
/usr/include/bits/byteswap.h:
/usr/include/xlocale.h:
/usr/include/sys/types.h:
/usr/include/time.h:
/usr/include/sys/select.h:
/usr/include/bits/select.h:
/usr/include/bits/sigset.h:
/usr/include/bits/time.h:
/usr/include/sys/sysmacros.h:
/usr/include/bits/pthreadtypes.h:
/usr/include/alloca.h:
/usr/include/bits/stdlib.h:
/usr/include/ctype.h:
/usr/include/string.h:
/usr/include/bits/string.h:
/usr/include/bits/string2.h:
/usr/include/bits/string3.h:
/usr/include/sys/stat.h:
/usr/include/bits/stat.h:
/usr/include/SDL/SDL_mixer.h:
/usr/include/SDL/SDL_types.h:
/usr/include/SDL/SDL_stdinc.h:
/usr/include/SDL/SDL_config.h:
/usr/include/SDL/SDL_platform.h:
/usr/include/strings.h:
/usr/include/inttypes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdint.h:
/usr/include/stdint.h:
/usr/include/bits/wchar.h:
/usr/include/iconv.h:
/usr/include/SDL/begin_code.h:
/usr/include/SDL/close_code.h:
/usr/include/SDL/SDL_rwops.h:
/usr/include/SDL/SDL_error.h:
/usr/include/SDL/SDL_audio.h:
/usr/include/SDL/SDL_endian.h:
/usr/include/SDL/SDL_mutex.h:
/usr/include/SDL/SDL_thread.h:
/usr/include/SDL/SDL_version.h:
../config.h:
../src/doomfeatures.h:
../src/doomkeys.h:
../src/doomtype.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include-fixed/limits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include-fixed/syslimits.h:
/usr/include/limits.h:
/usr/include/bits/posix1_lim.h:
/usr/include/bits/local_lim.h:
/usr/include/linux/limits.h:
/usr/include/bits/posix2_lim.h:
/usr/include/bits/xopen_lim.h:
../src/d_englsh.h:
m_argv.h:
compatibility.h:
display.h:
joystick.h:
keyboard.h:
mouse.h:
multiplayer.h:
sound.h:

View File

@ -0,0 +1,227 @@
display.o: display.c /usr/include/string.h /usr/include/features.h \
/usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
/usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stddef.h \
/usr/include/xlocale.h /usr/include/bits/string.h \
/usr/include/bits/string2.h /usr/include/endian.h \
/usr/include/bits/endian.h /usr/include/bits/byteswap.h \
/usr/include/bits/types.h /usr/include/bits/typesizes.h \
/usr/include/stdlib.h /usr/include/bits/string3.h \
../textscreen/textscreen.h ../textscreen/../src/doomkeys.h \
../textscreen/txt_main.h ../textscreen/txt_sdl.h /usr/include/SDL/SDL.h \
/usr/include/SDL/SDL_main.h /usr/include/SDL/SDL_stdinc.h \
/usr/include/SDL/SDL_config.h /usr/include/SDL/SDL_platform.h \
/usr/include/sys/types.h /usr/include/time.h /usr/include/sys/select.h \
/usr/include/bits/select.h /usr/include/bits/sigset.h \
/usr/include/bits/time.h /usr/include/sys/sysmacros.h \
/usr/include/bits/pthreadtypes.h /usr/include/stdio.h \
/usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdarg.h \
/usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
/usr/include/bits/stdio.h /usr/include/bits/stdio2.h \
/usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
/usr/include/alloca.h /usr/include/bits/stdlib.h /usr/include/strings.h \
/usr/include/inttypes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdint.h \
/usr/include/stdint.h /usr/include/bits/wchar.h /usr/include/ctype.h \
/usr/include/iconv.h /usr/include/SDL/begin_code.h \
/usr/include/SDL/close_code.h /usr/include/SDL/SDL_audio.h \
/usr/include/SDL/SDL_error.h /usr/include/SDL/SDL_endian.h \
/usr/include/SDL/SDL_mutex.h /usr/include/SDL/SDL_thread.h \
/usr/include/SDL/SDL_rwops.h /usr/include/SDL/SDL_cdrom.h \
/usr/include/SDL/SDL_cpuinfo.h /usr/include/SDL/SDL_events.h \
/usr/include/SDL/SDL_active.h /usr/include/SDL/SDL_keyboard.h \
/usr/include/SDL/SDL_keysym.h /usr/include/SDL/SDL_mouse.h \
/usr/include/SDL/SDL_video.h /usr/include/SDL/SDL_joystick.h \
/usr/include/SDL/SDL_quit.h /usr/include/SDL/SDL_loadso.h \
/usr/include/SDL/SDL_timer.h /usr/include/SDL/SDL_version.h \
../textscreen/txt_button.h ../textscreen/txt_widget.h \
../textscreen/txt_checkbox.h ../textscreen/txt_desktop.h \
../textscreen/txt_window.h ../textscreen/txt_table.h \
../textscreen/txt_window_action.h ../textscreen/txt_dropdown.h \
../textscreen/txt_inputbox.h ../textscreen/txt_label.h \
../textscreen/txt_radiobutton.h ../textscreen/txt_scrollpane.h \
../textscreen/txt_separator.h ../textscreen/txt_spinctrl.h \
../textscreen/txt_strut.h display.h
/usr/include/string.h:
/usr/include/features.h:
/usr/include/sys/cdefs.h:
/usr/include/bits/wordsize.h:
/usr/include/gnu/stubs.h:
/usr/include/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stddef.h:
/usr/include/xlocale.h:
/usr/include/bits/string.h:
/usr/include/bits/string2.h:
/usr/include/endian.h:
/usr/include/bits/endian.h:
/usr/include/bits/byteswap.h:
/usr/include/bits/types.h:
/usr/include/bits/typesizes.h:
/usr/include/stdlib.h:
/usr/include/bits/string3.h:
../textscreen/textscreen.h:
../textscreen/../src/doomkeys.h:
../textscreen/txt_main.h:
../textscreen/txt_sdl.h:
/usr/include/SDL/SDL.h:
/usr/include/SDL/SDL_main.h:
/usr/include/SDL/SDL_stdinc.h:
/usr/include/SDL/SDL_config.h:
/usr/include/SDL/SDL_platform.h:
/usr/include/sys/types.h:
/usr/include/time.h:
/usr/include/sys/select.h:
/usr/include/bits/select.h:
/usr/include/bits/sigset.h:
/usr/include/bits/time.h:
/usr/include/sys/sysmacros.h:
/usr/include/bits/pthreadtypes.h:
/usr/include/stdio.h:
/usr/include/libio.h:
/usr/include/_G_config.h:
/usr/include/wchar.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdarg.h:
/usr/include/bits/stdio_lim.h:
/usr/include/bits/sys_errlist.h:
/usr/include/bits/stdio.h:
/usr/include/bits/stdio2.h:
/usr/include/bits/waitflags.h:
/usr/include/bits/waitstatus.h:
/usr/include/alloca.h:
/usr/include/bits/stdlib.h:
/usr/include/strings.h:
/usr/include/inttypes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdint.h:
/usr/include/stdint.h:
/usr/include/bits/wchar.h:
/usr/include/ctype.h:
/usr/include/iconv.h:
/usr/include/SDL/begin_code.h:
/usr/include/SDL/close_code.h:
/usr/include/SDL/SDL_audio.h:
/usr/include/SDL/SDL_error.h:
/usr/include/SDL/SDL_endian.h:
/usr/include/SDL/SDL_mutex.h:
/usr/include/SDL/SDL_thread.h:
/usr/include/SDL/SDL_rwops.h:
/usr/include/SDL/SDL_cdrom.h:
/usr/include/SDL/SDL_cpuinfo.h:
/usr/include/SDL/SDL_events.h:
/usr/include/SDL/SDL_active.h:
/usr/include/SDL/SDL_keyboard.h:
/usr/include/SDL/SDL_keysym.h:
/usr/include/SDL/SDL_mouse.h:
/usr/include/SDL/SDL_video.h:
/usr/include/SDL/SDL_joystick.h:
/usr/include/SDL/SDL_quit.h:
/usr/include/SDL/SDL_loadso.h:
/usr/include/SDL/SDL_timer.h:
/usr/include/SDL/SDL_version.h:
../textscreen/txt_button.h:
../textscreen/txt_widget.h:
../textscreen/txt_checkbox.h:
../textscreen/txt_desktop.h:
../textscreen/txt_window.h:
../textscreen/txt_table.h:
../textscreen/txt_window_action.h:
../textscreen/txt_dropdown.h:
../textscreen/txt_inputbox.h:
../textscreen/txt_label.h:
../textscreen/txt_radiobutton.h:
../textscreen/txt_scrollpane.h:
../textscreen/txt_separator.h:
../textscreen/txt_spinctrl.h:
../textscreen/txt_strut.h:
display.h:

View File

@ -0,0 +1,276 @@
execute.o: execute.c \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdarg.h \
/usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
/usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
/usr/include/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stddef.h \
/usr/include/bits/types.h /usr/include/bits/typesizes.h \
/usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
/usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
/usr/include/bits/stdio.h /usr/include/bits/stdio2.h \
/usr/include/stdlib.h /usr/include/bits/waitflags.h \
/usr/include/bits/waitstatus.h /usr/include/endian.h \
/usr/include/bits/endian.h /usr/include/bits/byteswap.h \
/usr/include/xlocale.h /usr/include/sys/types.h /usr/include/time.h \
/usr/include/sys/select.h /usr/include/bits/select.h \
/usr/include/bits/sigset.h /usr/include/bits/time.h \
/usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
/usr/include/alloca.h /usr/include/bits/stdlib.h /usr/include/string.h \
/usr/include/bits/string.h /usr/include/bits/string2.h \
/usr/include/bits/string3.h /usr/include/sys/wait.h \
/usr/include/signal.h /usr/include/bits/signum.h \
/usr/include/bits/siginfo.h /usr/include/bits/sigaction.h \
/usr/include/bits/sigcontext.h /usr/include/bits/sigstack.h \
/usr/include/sys/ucontext.h /usr/include/bits/sigthread.h \
/usr/include/sys/resource.h /usr/include/bits/resource.h \
/usr/include/unistd.h /usr/include/bits/posix_opt.h \
/usr/include/bits/environments.h /usr/include/bits/confname.h \
/usr/include/getopt.h /usr/include/bits/unistd.h \
../textscreen/textscreen.h ../textscreen/../src/doomkeys.h \
../textscreen/txt_main.h ../textscreen/txt_sdl.h /usr/include/SDL/SDL.h \
/usr/include/SDL/SDL_main.h /usr/include/SDL/SDL_stdinc.h \
/usr/include/SDL/SDL_config.h /usr/include/SDL/SDL_platform.h \
/usr/include/strings.h /usr/include/inttypes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdint.h \
/usr/include/stdint.h /usr/include/bits/wchar.h /usr/include/ctype.h \
/usr/include/iconv.h /usr/include/SDL/begin_code.h \
/usr/include/SDL/close_code.h /usr/include/SDL/SDL_audio.h \
/usr/include/SDL/SDL_error.h /usr/include/SDL/SDL_endian.h \
/usr/include/SDL/SDL_mutex.h /usr/include/SDL/SDL_thread.h \
/usr/include/SDL/SDL_rwops.h /usr/include/SDL/SDL_cdrom.h \
/usr/include/SDL/SDL_cpuinfo.h /usr/include/SDL/SDL_events.h \
/usr/include/SDL/SDL_active.h /usr/include/SDL/SDL_keyboard.h \
/usr/include/SDL/SDL_keysym.h /usr/include/SDL/SDL_mouse.h \
/usr/include/SDL/SDL_video.h /usr/include/SDL/SDL_joystick.h \
/usr/include/SDL/SDL_quit.h /usr/include/SDL/SDL_loadso.h \
/usr/include/SDL/SDL_timer.h /usr/include/SDL/SDL_version.h \
../textscreen/txt_button.h ../textscreen/txt_widget.h \
../textscreen/txt_checkbox.h ../textscreen/txt_desktop.h \
../textscreen/txt_window.h ../textscreen/txt_table.h \
../textscreen/txt_window_action.h ../textscreen/txt_dropdown.h \
../textscreen/txt_inputbox.h ../textscreen/txt_label.h \
../textscreen/txt_radiobutton.h ../textscreen/txt_scrollpane.h \
../textscreen/txt_separator.h ../textscreen/txt_spinctrl.h \
../textscreen/txt_strut.h ../config.h configfile.h execute.h m_argv.h
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdarg.h:
/usr/include/stdio.h:
/usr/include/features.h:
/usr/include/sys/cdefs.h:
/usr/include/bits/wordsize.h:
/usr/include/gnu/stubs.h:
/usr/include/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stddef.h:
/usr/include/bits/types.h:
/usr/include/bits/typesizes.h:
/usr/include/libio.h:
/usr/include/_G_config.h:
/usr/include/wchar.h:
/usr/include/bits/stdio_lim.h:
/usr/include/bits/sys_errlist.h:
/usr/include/bits/stdio.h:
/usr/include/bits/stdio2.h:
/usr/include/stdlib.h:
/usr/include/bits/waitflags.h:
/usr/include/bits/waitstatus.h:
/usr/include/endian.h:
/usr/include/bits/endian.h:
/usr/include/bits/byteswap.h:
/usr/include/xlocale.h:
/usr/include/sys/types.h:
/usr/include/time.h:
/usr/include/sys/select.h:
/usr/include/bits/select.h:
/usr/include/bits/sigset.h:
/usr/include/bits/time.h:
/usr/include/sys/sysmacros.h:
/usr/include/bits/pthreadtypes.h:
/usr/include/alloca.h:
/usr/include/bits/stdlib.h:
/usr/include/string.h:
/usr/include/bits/string.h:
/usr/include/bits/string2.h:
/usr/include/bits/string3.h:
/usr/include/sys/wait.h:
/usr/include/signal.h:
/usr/include/bits/signum.h:
/usr/include/bits/siginfo.h:
/usr/include/bits/sigaction.h:
/usr/include/bits/sigcontext.h:
/usr/include/bits/sigstack.h:
/usr/include/sys/ucontext.h:
/usr/include/bits/sigthread.h:
/usr/include/sys/resource.h:
/usr/include/bits/resource.h:
/usr/include/unistd.h:
/usr/include/bits/posix_opt.h:
/usr/include/bits/environments.h:
/usr/include/bits/confname.h:
/usr/include/getopt.h:
/usr/include/bits/unistd.h:
../textscreen/textscreen.h:
../textscreen/../src/doomkeys.h:
../textscreen/txt_main.h:
../textscreen/txt_sdl.h:
/usr/include/SDL/SDL.h:
/usr/include/SDL/SDL_main.h:
/usr/include/SDL/SDL_stdinc.h:
/usr/include/SDL/SDL_config.h:
/usr/include/SDL/SDL_platform.h:
/usr/include/strings.h:
/usr/include/inttypes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdint.h:
/usr/include/stdint.h:
/usr/include/bits/wchar.h:
/usr/include/ctype.h:
/usr/include/iconv.h:
/usr/include/SDL/begin_code.h:
/usr/include/SDL/close_code.h:
/usr/include/SDL/SDL_audio.h:
/usr/include/SDL/SDL_error.h:
/usr/include/SDL/SDL_endian.h:
/usr/include/SDL/SDL_mutex.h:
/usr/include/SDL/SDL_thread.h:
/usr/include/SDL/SDL_rwops.h:
/usr/include/SDL/SDL_cdrom.h:
/usr/include/SDL/SDL_cpuinfo.h:
/usr/include/SDL/SDL_events.h:
/usr/include/SDL/SDL_active.h:
/usr/include/SDL/SDL_keyboard.h:
/usr/include/SDL/SDL_keysym.h:
/usr/include/SDL/SDL_mouse.h:
/usr/include/SDL/SDL_video.h:
/usr/include/SDL/SDL_joystick.h:
/usr/include/SDL/SDL_quit.h:
/usr/include/SDL/SDL_loadso.h:
/usr/include/SDL/SDL_timer.h:
/usr/include/SDL/SDL_version.h:
../textscreen/txt_button.h:
../textscreen/txt_widget.h:
../textscreen/txt_checkbox.h:
../textscreen/txt_desktop.h:
../textscreen/txt_window.h:
../textscreen/txt_table.h:
../textscreen/txt_window_action.h:
../textscreen/txt_dropdown.h:
../textscreen/txt_inputbox.h:
../textscreen/txt_label.h:
../textscreen/txt_radiobutton.h:
../textscreen/txt_scrollpane.h:
../textscreen/txt_separator.h:
../textscreen/txt_spinctrl.h:
../textscreen/txt_strut.h:
../config.h:
configfile.h:
execute.h:
m_argv.h:

View File

@ -0,0 +1,261 @@
joystick.o: joystick.c /usr/include/stdlib.h /usr/include/features.h \
/usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
/usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stddef.h \
/usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
/usr/include/endian.h /usr/include/bits/endian.h \
/usr/include/bits/byteswap.h /usr/include/xlocale.h \
/usr/include/sys/types.h /usr/include/bits/types.h \
/usr/include/bits/typesizes.h /usr/include/time.h \
/usr/include/sys/select.h /usr/include/bits/select.h \
/usr/include/bits/sigset.h /usr/include/bits/time.h \
/usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
/usr/include/alloca.h /usr/include/bits/stdlib.h ../src/doomtype.h \
/usr/include/inttypes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdint.h \
/usr/include/stdint.h /usr/include/bits/wchar.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include-fixed/limits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include-fixed/syslimits.h \
/usr/include/limits.h /usr/include/bits/posix1_lim.h \
/usr/include/bits/local_lim.h /usr/include/linux/limits.h \
/usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
/usr/include/bits/stdio_lim.h ../textscreen/textscreen.h \
../textscreen/../src/doomkeys.h ../textscreen/txt_main.h \
../textscreen/txt_sdl.h /usr/include/SDL/SDL.h \
/usr/include/SDL/SDL_main.h /usr/include/SDL/SDL_stdinc.h \
/usr/include/SDL/SDL_config.h /usr/include/SDL/SDL_platform.h \
/usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
/usr/include/wchar.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdarg.h \
/usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \
/usr/include/bits/stdio2.h /usr/include/string.h \
/usr/include/bits/string.h /usr/include/bits/string2.h \
/usr/include/bits/string3.h /usr/include/strings.h /usr/include/ctype.h \
/usr/include/iconv.h /usr/include/SDL/begin_code.h \
/usr/include/SDL/close_code.h /usr/include/SDL/SDL_audio.h \
/usr/include/SDL/SDL_error.h /usr/include/SDL/SDL_endian.h \
/usr/include/SDL/SDL_mutex.h /usr/include/SDL/SDL_thread.h \
/usr/include/SDL/SDL_rwops.h /usr/include/SDL/SDL_cdrom.h \
/usr/include/SDL/SDL_cpuinfo.h /usr/include/SDL/SDL_events.h \
/usr/include/SDL/SDL_active.h /usr/include/SDL/SDL_keyboard.h \
/usr/include/SDL/SDL_keysym.h /usr/include/SDL/SDL_mouse.h \
/usr/include/SDL/SDL_video.h /usr/include/SDL/SDL_joystick.h \
/usr/include/SDL/SDL_quit.h /usr/include/SDL/SDL_loadso.h \
/usr/include/SDL/SDL_timer.h /usr/include/SDL/SDL_version.h \
../textscreen/txt_button.h ../textscreen/txt_widget.h \
../textscreen/txt_checkbox.h ../textscreen/txt_desktop.h \
../textscreen/txt_window.h ../textscreen/txt_table.h \
../textscreen/txt_window_action.h ../textscreen/txt_dropdown.h \
../textscreen/txt_inputbox.h ../textscreen/txt_label.h \
../textscreen/txt_radiobutton.h ../textscreen/txt_scrollpane.h \
../textscreen/txt_separator.h ../textscreen/txt_spinctrl.h \
../textscreen/txt_strut.h txt_joybinput.h ../textscreen/txt_widget.h \
../textscreen/txt_window.h execute.h joystick.h
/usr/include/stdlib.h:
/usr/include/features.h:
/usr/include/sys/cdefs.h:
/usr/include/bits/wordsize.h:
/usr/include/gnu/stubs.h:
/usr/include/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stddef.h:
/usr/include/bits/waitflags.h:
/usr/include/bits/waitstatus.h:
/usr/include/endian.h:
/usr/include/bits/endian.h:
/usr/include/bits/byteswap.h:
/usr/include/xlocale.h:
/usr/include/sys/types.h:
/usr/include/bits/types.h:
/usr/include/bits/typesizes.h:
/usr/include/time.h:
/usr/include/sys/select.h:
/usr/include/bits/select.h:
/usr/include/bits/sigset.h:
/usr/include/bits/time.h:
/usr/include/sys/sysmacros.h:
/usr/include/bits/pthreadtypes.h:
/usr/include/alloca.h:
/usr/include/bits/stdlib.h:
../src/doomtype.h:
/usr/include/inttypes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdint.h:
/usr/include/stdint.h:
/usr/include/bits/wchar.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include-fixed/limits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include-fixed/syslimits.h:
/usr/include/limits.h:
/usr/include/bits/posix1_lim.h:
/usr/include/bits/local_lim.h:
/usr/include/linux/limits.h:
/usr/include/bits/posix2_lim.h:
/usr/include/bits/xopen_lim.h:
/usr/include/bits/stdio_lim.h:
../textscreen/textscreen.h:
../textscreen/../src/doomkeys.h:
../textscreen/txt_main.h:
../textscreen/txt_sdl.h:
/usr/include/SDL/SDL.h:
/usr/include/SDL/SDL_main.h:
/usr/include/SDL/SDL_stdinc.h:
/usr/include/SDL/SDL_config.h:
/usr/include/SDL/SDL_platform.h:
/usr/include/stdio.h:
/usr/include/libio.h:
/usr/include/_G_config.h:
/usr/include/wchar.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdarg.h:
/usr/include/bits/sys_errlist.h:
/usr/include/bits/stdio.h:
/usr/include/bits/stdio2.h:
/usr/include/string.h:
/usr/include/bits/string.h:
/usr/include/bits/string2.h:
/usr/include/bits/string3.h:
/usr/include/strings.h:
/usr/include/ctype.h:
/usr/include/iconv.h:
/usr/include/SDL/begin_code.h:
/usr/include/SDL/close_code.h:
/usr/include/SDL/SDL_audio.h:
/usr/include/SDL/SDL_error.h:
/usr/include/SDL/SDL_endian.h:
/usr/include/SDL/SDL_mutex.h:
/usr/include/SDL/SDL_thread.h:
/usr/include/SDL/SDL_rwops.h:
/usr/include/SDL/SDL_cdrom.h:
/usr/include/SDL/SDL_cpuinfo.h:
/usr/include/SDL/SDL_events.h:
/usr/include/SDL/SDL_active.h:
/usr/include/SDL/SDL_keyboard.h:
/usr/include/SDL/SDL_keysym.h:
/usr/include/SDL/SDL_mouse.h:
/usr/include/SDL/SDL_video.h:
/usr/include/SDL/SDL_joystick.h:
/usr/include/SDL/SDL_quit.h:
/usr/include/SDL/SDL_loadso.h:
/usr/include/SDL/SDL_timer.h:
/usr/include/SDL/SDL_version.h:
../textscreen/txt_button.h:
../textscreen/txt_widget.h:
../textscreen/txt_checkbox.h:
../textscreen/txt_desktop.h:
../textscreen/txt_window.h:
../textscreen/txt_table.h:
../textscreen/txt_window_action.h:
../textscreen/txt_dropdown.h:
../textscreen/txt_inputbox.h:
../textscreen/txt_label.h:
../textscreen/txt_radiobutton.h:
../textscreen/txt_scrollpane.h:
../textscreen/txt_separator.h:
../textscreen/txt_spinctrl.h:
../textscreen/txt_strut.h:
txt_joybinput.h:
../textscreen/txt_widget.h:
../textscreen/txt_window.h:
execute.h:
joystick.h:

View File

@ -0,0 +1,261 @@
keyboard.o: keyboard.c ../textscreen/textscreen.h \
../textscreen/../src/doomkeys.h ../textscreen/txt_main.h \
../textscreen/txt_sdl.h /usr/include/SDL/SDL.h \
/usr/include/SDL/SDL_main.h /usr/include/SDL/SDL_stdinc.h \
/usr/include/SDL/SDL_config.h /usr/include/SDL/SDL_platform.h \
/usr/include/sys/types.h /usr/include/features.h \
/usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
/usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
/usr/include/bits/types.h /usr/include/bits/typesizes.h \
/usr/include/time.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stddef.h \
/usr/include/endian.h /usr/include/bits/endian.h \
/usr/include/bits/byteswap.h /usr/include/sys/select.h \
/usr/include/bits/select.h /usr/include/bits/sigset.h \
/usr/include/bits/time.h /usr/include/sys/sysmacros.h \
/usr/include/bits/pthreadtypes.h /usr/include/stdio.h \
/usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdarg.h \
/usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
/usr/include/bits/stdio.h /usr/include/bits/stdio2.h \
/usr/include/stdlib.h /usr/include/bits/waitflags.h \
/usr/include/bits/waitstatus.h /usr/include/xlocale.h \
/usr/include/alloca.h /usr/include/bits/stdlib.h /usr/include/string.h \
/usr/include/bits/string.h /usr/include/bits/string2.h \
/usr/include/bits/string3.h /usr/include/strings.h \
/usr/include/inttypes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdint.h \
/usr/include/stdint.h /usr/include/bits/wchar.h /usr/include/ctype.h \
/usr/include/iconv.h /usr/include/SDL/begin_code.h \
/usr/include/SDL/close_code.h /usr/include/SDL/SDL_audio.h \
/usr/include/SDL/SDL_error.h /usr/include/SDL/SDL_endian.h \
/usr/include/SDL/SDL_mutex.h /usr/include/SDL/SDL_thread.h \
/usr/include/SDL/SDL_rwops.h /usr/include/SDL/SDL_cdrom.h \
/usr/include/SDL/SDL_cpuinfo.h /usr/include/SDL/SDL_events.h \
/usr/include/SDL/SDL_active.h /usr/include/SDL/SDL_keyboard.h \
/usr/include/SDL/SDL_keysym.h /usr/include/SDL/SDL_mouse.h \
/usr/include/SDL/SDL_video.h /usr/include/SDL/SDL_joystick.h \
/usr/include/SDL/SDL_quit.h /usr/include/SDL/SDL_loadso.h \
/usr/include/SDL/SDL_timer.h /usr/include/SDL/SDL_version.h \
../textscreen/txt_button.h ../textscreen/txt_widget.h \
../textscreen/txt_checkbox.h ../textscreen/txt_desktop.h \
../textscreen/txt_window.h ../textscreen/txt_table.h \
../textscreen/txt_window_action.h ../textscreen/txt_dropdown.h \
../textscreen/txt_inputbox.h ../textscreen/txt_label.h \
../textscreen/txt_radiobutton.h ../textscreen/txt_scrollpane.h \
../textscreen/txt_separator.h ../textscreen/txt_spinctrl.h \
../textscreen/txt_strut.h ../src/doomtype.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include-fixed/limits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include-fixed/syslimits.h \
/usr/include/limits.h /usr/include/bits/posix1_lim.h \
/usr/include/bits/local_lim.h /usr/include/linux/limits.h \
/usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h execute.h \
txt_keyinput.h ../textscreen/txt_widget.h joystick.h keyboard.h
../textscreen/textscreen.h:
../textscreen/../src/doomkeys.h:
../textscreen/txt_main.h:
../textscreen/txt_sdl.h:
/usr/include/SDL/SDL.h:
/usr/include/SDL/SDL_main.h:
/usr/include/SDL/SDL_stdinc.h:
/usr/include/SDL/SDL_config.h:
/usr/include/SDL/SDL_platform.h:
/usr/include/sys/types.h:
/usr/include/features.h:
/usr/include/sys/cdefs.h:
/usr/include/bits/wordsize.h:
/usr/include/gnu/stubs.h:
/usr/include/gnu/stubs-64.h:
/usr/include/bits/types.h:
/usr/include/bits/typesizes.h:
/usr/include/time.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stddef.h:
/usr/include/endian.h:
/usr/include/bits/endian.h:
/usr/include/bits/byteswap.h:
/usr/include/sys/select.h:
/usr/include/bits/select.h:
/usr/include/bits/sigset.h:
/usr/include/bits/time.h:
/usr/include/sys/sysmacros.h:
/usr/include/bits/pthreadtypes.h:
/usr/include/stdio.h:
/usr/include/libio.h:
/usr/include/_G_config.h:
/usr/include/wchar.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdarg.h:
/usr/include/bits/stdio_lim.h:
/usr/include/bits/sys_errlist.h:
/usr/include/bits/stdio.h:
/usr/include/bits/stdio2.h:
/usr/include/stdlib.h:
/usr/include/bits/waitflags.h:
/usr/include/bits/waitstatus.h:
/usr/include/xlocale.h:
/usr/include/alloca.h:
/usr/include/bits/stdlib.h:
/usr/include/string.h:
/usr/include/bits/string.h:
/usr/include/bits/string2.h:
/usr/include/bits/string3.h:
/usr/include/strings.h:
/usr/include/inttypes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdint.h:
/usr/include/stdint.h:
/usr/include/bits/wchar.h:
/usr/include/ctype.h:
/usr/include/iconv.h:
/usr/include/SDL/begin_code.h:
/usr/include/SDL/close_code.h:
/usr/include/SDL/SDL_audio.h:
/usr/include/SDL/SDL_error.h:
/usr/include/SDL/SDL_endian.h:
/usr/include/SDL/SDL_mutex.h:
/usr/include/SDL/SDL_thread.h:
/usr/include/SDL/SDL_rwops.h:
/usr/include/SDL/SDL_cdrom.h:
/usr/include/SDL/SDL_cpuinfo.h:
/usr/include/SDL/SDL_events.h:
/usr/include/SDL/SDL_active.h:
/usr/include/SDL/SDL_keyboard.h:
/usr/include/SDL/SDL_keysym.h:
/usr/include/SDL/SDL_mouse.h:
/usr/include/SDL/SDL_video.h:
/usr/include/SDL/SDL_joystick.h:
/usr/include/SDL/SDL_quit.h:
/usr/include/SDL/SDL_loadso.h:
/usr/include/SDL/SDL_timer.h:
/usr/include/SDL/SDL_version.h:
../textscreen/txt_button.h:
../textscreen/txt_widget.h:
../textscreen/txt_checkbox.h:
../textscreen/txt_desktop.h:
../textscreen/txt_window.h:
../textscreen/txt_table.h:
../textscreen/txt_window_action.h:
../textscreen/txt_dropdown.h:
../textscreen/txt_inputbox.h:
../textscreen/txt_label.h:
../textscreen/txt_radiobutton.h:
../textscreen/txt_scrollpane.h:
../textscreen/txt_separator.h:
../textscreen/txt_spinctrl.h:
../textscreen/txt_strut.h:
../src/doomtype.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include-fixed/limits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include-fixed/syslimits.h:
/usr/include/limits.h:
/usr/include/bits/posix1_lim.h:
/usr/include/bits/local_lim.h:
/usr/include/linux/limits.h:
/usr/include/bits/posix2_lim.h:
/usr/include/bits/xopen_lim.h:
execute.h:
txt_keyinput.h:
../textscreen/txt_widget.h:
joystick.h:
keyboard.h:

View File

@ -0,0 +1,45 @@
m_argv.o: m_argv.c /usr/include/string.h /usr/include/features.h \
/usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
/usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stddef.h \
/usr/include/xlocale.h /usr/include/bits/string.h \
/usr/include/bits/string2.h /usr/include/endian.h \
/usr/include/bits/endian.h /usr/include/bits/byteswap.h \
/usr/include/bits/types.h /usr/include/bits/typesizes.h \
/usr/include/stdlib.h /usr/include/bits/string3.h /usr/include/strings.h
/usr/include/string.h:
/usr/include/features.h:
/usr/include/sys/cdefs.h:
/usr/include/bits/wordsize.h:
/usr/include/gnu/stubs.h:
/usr/include/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stddef.h:
/usr/include/xlocale.h:
/usr/include/bits/string.h:
/usr/include/bits/string2.h:
/usr/include/endian.h:
/usr/include/bits/endian.h:
/usr/include/bits/byteswap.h:
/usr/include/bits/types.h:
/usr/include/bits/typesizes.h:
/usr/include/stdlib.h:
/usr/include/bits/string3.h:
/usr/include/strings.h:

View File

@ -0,0 +1,251 @@
mainmenu.o: mainmenu.c /usr/include/stdio.h /usr/include/features.h \
/usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
/usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stddef.h \
/usr/include/bits/types.h /usr/include/bits/typesizes.h \
/usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdarg.h \
/usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
/usr/include/bits/stdio.h /usr/include/bits/stdio2.h \
/usr/include/stdlib.h /usr/include/bits/waitflags.h \
/usr/include/bits/waitstatus.h /usr/include/endian.h \
/usr/include/bits/endian.h /usr/include/bits/byteswap.h \
/usr/include/xlocale.h /usr/include/sys/types.h /usr/include/time.h \
/usr/include/sys/select.h /usr/include/bits/select.h \
/usr/include/bits/sigset.h /usr/include/bits/time.h \
/usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
/usr/include/alloca.h /usr/include/bits/stdlib.h /usr/include/string.h \
/usr/include/bits/string.h /usr/include/bits/string2.h \
/usr/include/bits/string3.h ../config.h ../textscreen/textscreen.h \
../textscreen/../src/doomkeys.h ../textscreen/txt_main.h \
../textscreen/txt_sdl.h /usr/include/SDL/SDL.h \
/usr/include/SDL/SDL_main.h /usr/include/SDL/SDL_stdinc.h \
/usr/include/SDL/SDL_config.h /usr/include/SDL/SDL_platform.h \
/usr/include/strings.h /usr/include/inttypes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdint.h \
/usr/include/stdint.h /usr/include/bits/wchar.h /usr/include/ctype.h \
/usr/include/iconv.h /usr/include/SDL/begin_code.h \
/usr/include/SDL/close_code.h /usr/include/SDL/SDL_audio.h \
/usr/include/SDL/SDL_error.h /usr/include/SDL/SDL_endian.h \
/usr/include/SDL/SDL_mutex.h /usr/include/SDL/SDL_thread.h \
/usr/include/SDL/SDL_rwops.h /usr/include/SDL/SDL_cdrom.h \
/usr/include/SDL/SDL_cpuinfo.h /usr/include/SDL/SDL_events.h \
/usr/include/SDL/SDL_active.h /usr/include/SDL/SDL_keyboard.h \
/usr/include/SDL/SDL_keysym.h /usr/include/SDL/SDL_mouse.h \
/usr/include/SDL/SDL_video.h /usr/include/SDL/SDL_joystick.h \
/usr/include/SDL/SDL_quit.h /usr/include/SDL/SDL_loadso.h \
/usr/include/SDL/SDL_timer.h /usr/include/SDL/SDL_version.h \
../textscreen/txt_button.h ../textscreen/txt_widget.h \
../textscreen/txt_checkbox.h ../textscreen/txt_desktop.h \
../textscreen/txt_window.h ../textscreen/txt_table.h \
../textscreen/txt_window_action.h ../textscreen/txt_dropdown.h \
../textscreen/txt_inputbox.h ../textscreen/txt_label.h \
../textscreen/txt_radiobutton.h ../textscreen/txt_scrollpane.h \
../textscreen/txt_separator.h ../textscreen/txt_spinctrl.h \
../textscreen/txt_strut.h execute.h configfile.h m_argv.h setup_icon.c \
compatibility.h display.h joystick.h keyboard.h mouse.h multiplayer.h \
sound.h
/usr/include/stdio.h:
/usr/include/features.h:
/usr/include/sys/cdefs.h:
/usr/include/bits/wordsize.h:
/usr/include/gnu/stubs.h:
/usr/include/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stddef.h:
/usr/include/bits/types.h:
/usr/include/bits/typesizes.h:
/usr/include/libio.h:
/usr/include/_G_config.h:
/usr/include/wchar.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdarg.h:
/usr/include/bits/stdio_lim.h:
/usr/include/bits/sys_errlist.h:
/usr/include/bits/stdio.h:
/usr/include/bits/stdio2.h:
/usr/include/stdlib.h:
/usr/include/bits/waitflags.h:
/usr/include/bits/waitstatus.h:
/usr/include/endian.h:
/usr/include/bits/endian.h:
/usr/include/bits/byteswap.h:
/usr/include/xlocale.h:
/usr/include/sys/types.h:
/usr/include/time.h:
/usr/include/sys/select.h:
/usr/include/bits/select.h:
/usr/include/bits/sigset.h:
/usr/include/bits/time.h:
/usr/include/sys/sysmacros.h:
/usr/include/bits/pthreadtypes.h:
/usr/include/alloca.h:
/usr/include/bits/stdlib.h:
/usr/include/string.h:
/usr/include/bits/string.h:
/usr/include/bits/string2.h:
/usr/include/bits/string3.h:
../config.h:
../textscreen/textscreen.h:
../textscreen/../src/doomkeys.h:
../textscreen/txt_main.h:
../textscreen/txt_sdl.h:
/usr/include/SDL/SDL.h:
/usr/include/SDL/SDL_main.h:
/usr/include/SDL/SDL_stdinc.h:
/usr/include/SDL/SDL_config.h:
/usr/include/SDL/SDL_platform.h:
/usr/include/strings.h:
/usr/include/inttypes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdint.h:
/usr/include/stdint.h:
/usr/include/bits/wchar.h:
/usr/include/ctype.h:
/usr/include/iconv.h:
/usr/include/SDL/begin_code.h:
/usr/include/SDL/close_code.h:
/usr/include/SDL/SDL_audio.h:
/usr/include/SDL/SDL_error.h:
/usr/include/SDL/SDL_endian.h:
/usr/include/SDL/SDL_mutex.h:
/usr/include/SDL/SDL_thread.h:
/usr/include/SDL/SDL_rwops.h:
/usr/include/SDL/SDL_cdrom.h:
/usr/include/SDL/SDL_cpuinfo.h:
/usr/include/SDL/SDL_events.h:
/usr/include/SDL/SDL_active.h:
/usr/include/SDL/SDL_keyboard.h:
/usr/include/SDL/SDL_keysym.h:
/usr/include/SDL/SDL_mouse.h:
/usr/include/SDL/SDL_video.h:
/usr/include/SDL/SDL_joystick.h:
/usr/include/SDL/SDL_quit.h:
/usr/include/SDL/SDL_loadso.h:
/usr/include/SDL/SDL_timer.h:
/usr/include/SDL/SDL_version.h:
../textscreen/txt_button.h:
../textscreen/txt_widget.h:
../textscreen/txt_checkbox.h:
../textscreen/txt_desktop.h:
../textscreen/txt_window.h:
../textscreen/txt_table.h:
../textscreen/txt_window_action.h:
../textscreen/txt_dropdown.h:
../textscreen/txt_inputbox.h:
../textscreen/txt_label.h:
../textscreen/txt_radiobutton.h:
../textscreen/txt_scrollpane.h:
../textscreen/txt_separator.h:
../textscreen/txt_spinctrl.h:
../textscreen/txt_strut.h:
execute.h:
configfile.h:
m_argv.h:
setup_icon.c:
compatibility.h:
display.h:
joystick.h:
keyboard.h:
mouse.h:
multiplayer.h:
sound.h:

View File

@ -0,0 +1,258 @@
mouse.o: mouse.c /usr/include/stdlib.h /usr/include/features.h \
/usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
/usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stddef.h \
/usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
/usr/include/endian.h /usr/include/bits/endian.h \
/usr/include/bits/byteswap.h /usr/include/xlocale.h \
/usr/include/sys/types.h /usr/include/bits/types.h \
/usr/include/bits/typesizes.h /usr/include/time.h \
/usr/include/sys/select.h /usr/include/bits/select.h \
/usr/include/bits/sigset.h /usr/include/bits/time.h \
/usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
/usr/include/alloca.h /usr/include/bits/stdlib.h \
../textscreen/textscreen.h ../textscreen/../src/doomkeys.h \
../textscreen/txt_main.h ../textscreen/txt_sdl.h /usr/include/SDL/SDL.h \
/usr/include/SDL/SDL_main.h /usr/include/SDL/SDL_stdinc.h \
/usr/include/SDL/SDL_config.h /usr/include/SDL/SDL_platform.h \
/usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
/usr/include/wchar.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdarg.h \
/usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
/usr/include/bits/stdio.h /usr/include/bits/stdio2.h \
/usr/include/string.h /usr/include/bits/string.h \
/usr/include/bits/string2.h /usr/include/bits/string3.h \
/usr/include/strings.h /usr/include/inttypes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdint.h \
/usr/include/stdint.h /usr/include/bits/wchar.h /usr/include/ctype.h \
/usr/include/iconv.h /usr/include/SDL/begin_code.h \
/usr/include/SDL/close_code.h /usr/include/SDL/SDL_audio.h \
/usr/include/SDL/SDL_error.h /usr/include/SDL/SDL_endian.h \
/usr/include/SDL/SDL_mutex.h /usr/include/SDL/SDL_thread.h \
/usr/include/SDL/SDL_rwops.h /usr/include/SDL/SDL_cdrom.h \
/usr/include/SDL/SDL_cpuinfo.h /usr/include/SDL/SDL_events.h \
/usr/include/SDL/SDL_active.h /usr/include/SDL/SDL_keyboard.h \
/usr/include/SDL/SDL_keysym.h /usr/include/SDL/SDL_mouse.h \
/usr/include/SDL/SDL_video.h /usr/include/SDL/SDL_joystick.h \
/usr/include/SDL/SDL_quit.h /usr/include/SDL/SDL_loadso.h \
/usr/include/SDL/SDL_timer.h /usr/include/SDL/SDL_version.h \
../textscreen/txt_button.h ../textscreen/txt_widget.h \
../textscreen/txt_checkbox.h ../textscreen/txt_desktop.h \
../textscreen/txt_window.h ../textscreen/txt_table.h \
../textscreen/txt_window_action.h ../textscreen/txt_dropdown.h \
../textscreen/txt_inputbox.h ../textscreen/txt_label.h \
../textscreen/txt_radiobutton.h ../textscreen/txt_scrollpane.h \
../textscreen/txt_separator.h ../textscreen/txt_spinctrl.h \
../textscreen/txt_strut.h ../src/doomtype.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include-fixed/limits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include-fixed/syslimits.h \
/usr/include/limits.h /usr/include/bits/posix1_lim.h \
/usr/include/bits/local_lim.h /usr/include/linux/limits.h \
/usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h execute.h \
txt_mouseinput.h ../textscreen/txt_widget.h mouse.h
/usr/include/stdlib.h:
/usr/include/features.h:
/usr/include/sys/cdefs.h:
/usr/include/bits/wordsize.h:
/usr/include/gnu/stubs.h:
/usr/include/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stddef.h:
/usr/include/bits/waitflags.h:
/usr/include/bits/waitstatus.h:
/usr/include/endian.h:
/usr/include/bits/endian.h:
/usr/include/bits/byteswap.h:
/usr/include/xlocale.h:
/usr/include/sys/types.h:
/usr/include/bits/types.h:
/usr/include/bits/typesizes.h:
/usr/include/time.h:
/usr/include/sys/select.h:
/usr/include/bits/select.h:
/usr/include/bits/sigset.h:
/usr/include/bits/time.h:
/usr/include/sys/sysmacros.h:
/usr/include/bits/pthreadtypes.h:
/usr/include/alloca.h:
/usr/include/bits/stdlib.h:
../textscreen/textscreen.h:
../textscreen/../src/doomkeys.h:
../textscreen/txt_main.h:
../textscreen/txt_sdl.h:
/usr/include/SDL/SDL.h:
/usr/include/SDL/SDL_main.h:
/usr/include/SDL/SDL_stdinc.h:
/usr/include/SDL/SDL_config.h:
/usr/include/SDL/SDL_platform.h:
/usr/include/stdio.h:
/usr/include/libio.h:
/usr/include/_G_config.h:
/usr/include/wchar.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdarg.h:
/usr/include/bits/stdio_lim.h:
/usr/include/bits/sys_errlist.h:
/usr/include/bits/stdio.h:
/usr/include/bits/stdio2.h:
/usr/include/string.h:
/usr/include/bits/string.h:
/usr/include/bits/string2.h:
/usr/include/bits/string3.h:
/usr/include/strings.h:
/usr/include/inttypes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdint.h:
/usr/include/stdint.h:
/usr/include/bits/wchar.h:
/usr/include/ctype.h:
/usr/include/iconv.h:
/usr/include/SDL/begin_code.h:
/usr/include/SDL/close_code.h:
/usr/include/SDL/SDL_audio.h:
/usr/include/SDL/SDL_error.h:
/usr/include/SDL/SDL_endian.h:
/usr/include/SDL/SDL_mutex.h:
/usr/include/SDL/SDL_thread.h:
/usr/include/SDL/SDL_rwops.h:
/usr/include/SDL/SDL_cdrom.h:
/usr/include/SDL/SDL_cpuinfo.h:
/usr/include/SDL/SDL_events.h:
/usr/include/SDL/SDL_active.h:
/usr/include/SDL/SDL_keyboard.h:
/usr/include/SDL/SDL_keysym.h:
/usr/include/SDL/SDL_mouse.h:
/usr/include/SDL/SDL_video.h:
/usr/include/SDL/SDL_joystick.h:
/usr/include/SDL/SDL_quit.h:
/usr/include/SDL/SDL_loadso.h:
/usr/include/SDL/SDL_timer.h:
/usr/include/SDL/SDL_version.h:
../textscreen/txt_button.h:
../textscreen/txt_widget.h:
../textscreen/txt_checkbox.h:
../textscreen/txt_desktop.h:
../textscreen/txt_window.h:
../textscreen/txt_table.h:
../textscreen/txt_window_action.h:
../textscreen/txt_dropdown.h:
../textscreen/txt_inputbox.h:
../textscreen/txt_label.h:
../textscreen/txt_radiobutton.h:
../textscreen/txt_scrollpane.h:
../textscreen/txt_separator.h:
../textscreen/txt_spinctrl.h:
../textscreen/txt_strut.h:
../src/doomtype.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include-fixed/limits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include-fixed/syslimits.h:
/usr/include/limits.h:
/usr/include/bits/posix1_lim.h:
/usr/include/bits/local_lim.h:
/usr/include/linux/limits.h:
/usr/include/bits/posix2_lim.h:
/usr/include/bits/xopen_lim.h:
execute.h:
txt_mouseinput.h:
../textscreen/txt_widget.h:
mouse.h:

View File

@ -0,0 +1,257 @@
multiplayer.o: multiplayer.c /usr/include/stdio.h /usr/include/features.h \
/usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
/usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stddef.h \
/usr/include/bits/types.h /usr/include/bits/typesizes.h \
/usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdarg.h \
/usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
/usr/include/bits/stdio.h /usr/include/bits/stdio2.h \
/usr/include/stdlib.h /usr/include/bits/waitflags.h \
/usr/include/bits/waitstatus.h /usr/include/endian.h \
/usr/include/bits/endian.h /usr/include/bits/byteswap.h \
/usr/include/xlocale.h /usr/include/sys/types.h /usr/include/time.h \
/usr/include/sys/select.h /usr/include/bits/select.h \
/usr/include/bits/sigset.h /usr/include/bits/time.h \
/usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
/usr/include/alloca.h /usr/include/bits/stdlib.h /usr/include/string.h \
/usr/include/bits/string.h /usr/include/bits/string2.h \
/usr/include/bits/string3.h ../src/d_englsh.h ../textscreen/textscreen.h \
../textscreen/../src/doomkeys.h ../textscreen/txt_main.h \
../textscreen/txt_sdl.h /usr/include/SDL/SDL.h \
/usr/include/SDL/SDL_main.h /usr/include/SDL/SDL_stdinc.h \
/usr/include/SDL/SDL_config.h /usr/include/SDL/SDL_platform.h \
/usr/include/strings.h /usr/include/inttypes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdint.h \
/usr/include/stdint.h /usr/include/bits/wchar.h /usr/include/ctype.h \
/usr/include/iconv.h /usr/include/SDL/begin_code.h \
/usr/include/SDL/close_code.h /usr/include/SDL/SDL_audio.h \
/usr/include/SDL/SDL_error.h /usr/include/SDL/SDL_endian.h \
/usr/include/SDL/SDL_mutex.h /usr/include/SDL/SDL_thread.h \
/usr/include/SDL/SDL_rwops.h /usr/include/SDL/SDL_cdrom.h \
/usr/include/SDL/SDL_cpuinfo.h /usr/include/SDL/SDL_events.h \
/usr/include/SDL/SDL_active.h /usr/include/SDL/SDL_keyboard.h \
/usr/include/SDL/SDL_keysym.h /usr/include/SDL/SDL_mouse.h \
/usr/include/SDL/SDL_video.h /usr/include/SDL/SDL_joystick.h \
/usr/include/SDL/SDL_quit.h /usr/include/SDL/SDL_loadso.h \
/usr/include/SDL/SDL_timer.h /usr/include/SDL/SDL_version.h \
../textscreen/txt_button.h ../textscreen/txt_widget.h \
../textscreen/txt_checkbox.h ../textscreen/txt_desktop.h \
../textscreen/txt_window.h ../textscreen/txt_table.h \
../textscreen/txt_window_action.h ../textscreen/txt_dropdown.h \
../textscreen/txt_inputbox.h ../textscreen/txt_label.h \
../textscreen/txt_radiobutton.h ../textscreen/txt_scrollpane.h \
../textscreen/txt_separator.h ../textscreen/txt_spinctrl.h \
../textscreen/txt_strut.h ../src/doomtype.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include-fixed/limits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include-fixed/syslimits.h \
/usr/include/limits.h /usr/include/bits/posix1_lim.h \
/usr/include/bits/local_lim.h /usr/include/linux/limits.h \
/usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
configfile.h execute.h multiplayer.h
/usr/include/stdio.h:
/usr/include/features.h:
/usr/include/sys/cdefs.h:
/usr/include/bits/wordsize.h:
/usr/include/gnu/stubs.h:
/usr/include/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stddef.h:
/usr/include/bits/types.h:
/usr/include/bits/typesizes.h:
/usr/include/libio.h:
/usr/include/_G_config.h:
/usr/include/wchar.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdarg.h:
/usr/include/bits/stdio_lim.h:
/usr/include/bits/sys_errlist.h:
/usr/include/bits/stdio.h:
/usr/include/bits/stdio2.h:
/usr/include/stdlib.h:
/usr/include/bits/waitflags.h:
/usr/include/bits/waitstatus.h:
/usr/include/endian.h:
/usr/include/bits/endian.h:
/usr/include/bits/byteswap.h:
/usr/include/xlocale.h:
/usr/include/sys/types.h:
/usr/include/time.h:
/usr/include/sys/select.h:
/usr/include/bits/select.h:
/usr/include/bits/sigset.h:
/usr/include/bits/time.h:
/usr/include/sys/sysmacros.h:
/usr/include/bits/pthreadtypes.h:
/usr/include/alloca.h:
/usr/include/bits/stdlib.h:
/usr/include/string.h:
/usr/include/bits/string.h:
/usr/include/bits/string2.h:
/usr/include/bits/string3.h:
../src/d_englsh.h:
../textscreen/textscreen.h:
../textscreen/../src/doomkeys.h:
../textscreen/txt_main.h:
../textscreen/txt_sdl.h:
/usr/include/SDL/SDL.h:
/usr/include/SDL/SDL_main.h:
/usr/include/SDL/SDL_stdinc.h:
/usr/include/SDL/SDL_config.h:
/usr/include/SDL/SDL_platform.h:
/usr/include/strings.h:
/usr/include/inttypes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdint.h:
/usr/include/stdint.h:
/usr/include/bits/wchar.h:
/usr/include/ctype.h:
/usr/include/iconv.h:
/usr/include/SDL/begin_code.h:
/usr/include/SDL/close_code.h:
/usr/include/SDL/SDL_audio.h:
/usr/include/SDL/SDL_error.h:
/usr/include/SDL/SDL_endian.h:
/usr/include/SDL/SDL_mutex.h:
/usr/include/SDL/SDL_thread.h:
/usr/include/SDL/SDL_rwops.h:
/usr/include/SDL/SDL_cdrom.h:
/usr/include/SDL/SDL_cpuinfo.h:
/usr/include/SDL/SDL_events.h:
/usr/include/SDL/SDL_active.h:
/usr/include/SDL/SDL_keyboard.h:
/usr/include/SDL/SDL_keysym.h:
/usr/include/SDL/SDL_mouse.h:
/usr/include/SDL/SDL_video.h:
/usr/include/SDL/SDL_joystick.h:
/usr/include/SDL/SDL_quit.h:
/usr/include/SDL/SDL_loadso.h:
/usr/include/SDL/SDL_timer.h:
/usr/include/SDL/SDL_version.h:
../textscreen/txt_button.h:
../textscreen/txt_widget.h:
../textscreen/txt_checkbox.h:
../textscreen/txt_desktop.h:
../textscreen/txt_window.h:
../textscreen/txt_table.h:
../textscreen/txt_window_action.h:
../textscreen/txt_dropdown.h:
../textscreen/txt_inputbox.h:
../textscreen/txt_label.h:
../textscreen/txt_radiobutton.h:
../textscreen/txt_scrollpane.h:
../textscreen/txt_separator.h:
../textscreen/txt_spinctrl.h:
../textscreen/txt_strut.h:
../src/doomtype.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include-fixed/limits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include-fixed/syslimits.h:
/usr/include/limits.h:
/usr/include/bits/posix1_lim.h:
/usr/include/bits/local_lim.h:
/usr/include/linux/limits.h:
/usr/include/bits/posix2_lim.h:
/usr/include/bits/xopen_lim.h:
configfile.h:
execute.h:
multiplayer.h:

View File

@ -0,0 +1,228 @@
sound.o: sound.c /usr/include/stdlib.h /usr/include/features.h \
/usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
/usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stddef.h \
/usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
/usr/include/endian.h /usr/include/bits/endian.h \
/usr/include/bits/byteswap.h /usr/include/xlocale.h \
/usr/include/sys/types.h /usr/include/bits/types.h \
/usr/include/bits/typesizes.h /usr/include/time.h \
/usr/include/sys/select.h /usr/include/bits/select.h \
/usr/include/bits/sigset.h /usr/include/bits/time.h \
/usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
/usr/include/alloca.h /usr/include/bits/stdlib.h \
../textscreen/textscreen.h ../textscreen/../src/doomkeys.h \
../textscreen/txt_main.h ../textscreen/txt_sdl.h /usr/include/SDL/SDL.h \
/usr/include/SDL/SDL_main.h /usr/include/SDL/SDL_stdinc.h \
/usr/include/SDL/SDL_config.h /usr/include/SDL/SDL_platform.h \
/usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
/usr/include/wchar.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdarg.h \
/usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
/usr/include/bits/stdio.h /usr/include/bits/stdio2.h \
/usr/include/string.h /usr/include/bits/string.h \
/usr/include/bits/string2.h /usr/include/bits/string3.h \
/usr/include/strings.h /usr/include/inttypes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdint.h \
/usr/include/stdint.h /usr/include/bits/wchar.h /usr/include/ctype.h \
/usr/include/iconv.h /usr/include/SDL/begin_code.h \
/usr/include/SDL/close_code.h /usr/include/SDL/SDL_audio.h \
/usr/include/SDL/SDL_error.h /usr/include/SDL/SDL_endian.h \
/usr/include/SDL/SDL_mutex.h /usr/include/SDL/SDL_thread.h \
/usr/include/SDL/SDL_rwops.h /usr/include/SDL/SDL_cdrom.h \
/usr/include/SDL/SDL_cpuinfo.h /usr/include/SDL/SDL_events.h \
/usr/include/SDL/SDL_active.h /usr/include/SDL/SDL_keyboard.h \
/usr/include/SDL/SDL_keysym.h /usr/include/SDL/SDL_mouse.h \
/usr/include/SDL/SDL_video.h /usr/include/SDL/SDL_joystick.h \
/usr/include/SDL/SDL_quit.h /usr/include/SDL/SDL_loadso.h \
/usr/include/SDL/SDL_timer.h /usr/include/SDL/SDL_version.h \
../textscreen/txt_button.h ../textscreen/txt_widget.h \
../textscreen/txt_checkbox.h ../textscreen/txt_desktop.h \
../textscreen/txt_window.h ../textscreen/txt_table.h \
../textscreen/txt_window_action.h ../textscreen/txt_dropdown.h \
../textscreen/txt_inputbox.h ../textscreen/txt_label.h \
../textscreen/txt_radiobutton.h ../textscreen/txt_scrollpane.h \
../textscreen/txt_separator.h ../textscreen/txt_spinctrl.h \
../textscreen/txt_strut.h sound.h
/usr/include/stdlib.h:
/usr/include/features.h:
/usr/include/sys/cdefs.h:
/usr/include/bits/wordsize.h:
/usr/include/gnu/stubs.h:
/usr/include/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stddef.h:
/usr/include/bits/waitflags.h:
/usr/include/bits/waitstatus.h:
/usr/include/endian.h:
/usr/include/bits/endian.h:
/usr/include/bits/byteswap.h:
/usr/include/xlocale.h:
/usr/include/sys/types.h:
/usr/include/bits/types.h:
/usr/include/bits/typesizes.h:
/usr/include/time.h:
/usr/include/sys/select.h:
/usr/include/bits/select.h:
/usr/include/bits/sigset.h:
/usr/include/bits/time.h:
/usr/include/sys/sysmacros.h:
/usr/include/bits/pthreadtypes.h:
/usr/include/alloca.h:
/usr/include/bits/stdlib.h:
../textscreen/textscreen.h:
../textscreen/../src/doomkeys.h:
../textscreen/txt_main.h:
../textscreen/txt_sdl.h:
/usr/include/SDL/SDL.h:
/usr/include/SDL/SDL_main.h:
/usr/include/SDL/SDL_stdinc.h:
/usr/include/SDL/SDL_config.h:
/usr/include/SDL/SDL_platform.h:
/usr/include/stdio.h:
/usr/include/libio.h:
/usr/include/_G_config.h:
/usr/include/wchar.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdarg.h:
/usr/include/bits/stdio_lim.h:
/usr/include/bits/sys_errlist.h:
/usr/include/bits/stdio.h:
/usr/include/bits/stdio2.h:
/usr/include/string.h:
/usr/include/bits/string.h:
/usr/include/bits/string2.h:
/usr/include/bits/string3.h:
/usr/include/strings.h:
/usr/include/inttypes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdint.h:
/usr/include/stdint.h:
/usr/include/bits/wchar.h:
/usr/include/ctype.h:
/usr/include/iconv.h:
/usr/include/SDL/begin_code.h:
/usr/include/SDL/close_code.h:
/usr/include/SDL/SDL_audio.h:
/usr/include/SDL/SDL_error.h:
/usr/include/SDL/SDL_endian.h:
/usr/include/SDL/SDL_mutex.h:
/usr/include/SDL/SDL_thread.h:
/usr/include/SDL/SDL_rwops.h:
/usr/include/SDL/SDL_cdrom.h:
/usr/include/SDL/SDL_cpuinfo.h:
/usr/include/SDL/SDL_events.h:
/usr/include/SDL/SDL_active.h:
/usr/include/SDL/SDL_keyboard.h:
/usr/include/SDL/SDL_keysym.h:
/usr/include/SDL/SDL_mouse.h:
/usr/include/SDL/SDL_video.h:
/usr/include/SDL/SDL_joystick.h:
/usr/include/SDL/SDL_quit.h:
/usr/include/SDL/SDL_loadso.h:
/usr/include/SDL/SDL_timer.h:
/usr/include/SDL/SDL_version.h:
../textscreen/txt_button.h:
../textscreen/txt_widget.h:
../textscreen/txt_checkbox.h:
../textscreen/txt_desktop.h:
../textscreen/txt_window.h:
../textscreen/txt_table.h:
../textscreen/txt_window_action.h:
../textscreen/txt_dropdown.h:
../textscreen/txt_inputbox.h:
../textscreen/txt_label.h:
../textscreen/txt_radiobutton.h:
../textscreen/txt_scrollpane.h:
../textscreen/txt_separator.h:
../textscreen/txt_spinctrl.h:
../textscreen/txt_strut.h:
sound.h:

View File

@ -0,0 +1,217 @@
txt_joybinput.o: txt_joybinput.c /usr/include/stdio.h \
/usr/include/features.h /usr/include/sys/cdefs.h \
/usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
/usr/include/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stddef.h \
/usr/include/bits/types.h /usr/include/bits/typesizes.h \
/usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdarg.h \
/usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
/usr/include/bits/stdio.h /usr/include/bits/stdio2.h \
/usr/include/stdlib.h /usr/include/bits/waitflags.h \
/usr/include/bits/waitstatus.h /usr/include/endian.h \
/usr/include/bits/endian.h /usr/include/bits/byteswap.h \
/usr/include/xlocale.h /usr/include/sys/types.h /usr/include/time.h \
/usr/include/sys/select.h /usr/include/bits/select.h \
/usr/include/bits/sigset.h /usr/include/bits/time.h \
/usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
/usr/include/alloca.h /usr/include/bits/stdlib.h /usr/include/string.h \
/usr/include/bits/string.h /usr/include/bits/string2.h \
/usr/include/bits/string3.h /usr/include/SDL/SDL_joystick.h \
/usr/include/SDL/SDL_stdinc.h /usr/include/SDL/SDL_config.h \
/usr/include/SDL/SDL_platform.h /usr/include/strings.h \
/usr/include/inttypes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdint.h \
/usr/include/stdint.h /usr/include/bits/wchar.h /usr/include/ctype.h \
/usr/include/iconv.h /usr/include/SDL/begin_code.h \
/usr/include/SDL/close_code.h /usr/include/SDL/SDL_error.h \
../src/doomkeys.h joystick.h txt_joybinput.h ../textscreen/txt_widget.h \
../textscreen/txt_window.h ../textscreen/txt_widget.h \
../textscreen/txt_table.h ../textscreen/txt_window_action.h \
../textscreen/txt_window.h ../textscreen/txt_gui.h \
../textscreen/txt_io.h ../textscreen/txt_main.h ../textscreen/txt_sdl.h \
/usr/include/SDL/SDL.h /usr/include/SDL/SDL_main.h \
/usr/include/SDL/SDL_audio.h /usr/include/SDL/SDL_endian.h \
/usr/include/SDL/SDL_mutex.h /usr/include/SDL/SDL_thread.h \
/usr/include/SDL/SDL_rwops.h /usr/include/SDL/SDL_cdrom.h \
/usr/include/SDL/SDL_cpuinfo.h /usr/include/SDL/SDL_events.h \
/usr/include/SDL/SDL_active.h /usr/include/SDL/SDL_keyboard.h \
/usr/include/SDL/SDL_keysym.h /usr/include/SDL/SDL_mouse.h \
/usr/include/SDL/SDL_video.h /usr/include/SDL/SDL_joystick.h \
/usr/include/SDL/SDL_quit.h /usr/include/SDL/SDL_loadso.h \
/usr/include/SDL/SDL_timer.h /usr/include/SDL/SDL_version.h \
../textscreen/txt_label.h ../textscreen/txt_sdl.h
/usr/include/stdio.h:
/usr/include/features.h:
/usr/include/sys/cdefs.h:
/usr/include/bits/wordsize.h:
/usr/include/gnu/stubs.h:
/usr/include/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stddef.h:
/usr/include/bits/types.h:
/usr/include/bits/typesizes.h:
/usr/include/libio.h:
/usr/include/_G_config.h:
/usr/include/wchar.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdarg.h:
/usr/include/bits/stdio_lim.h:
/usr/include/bits/sys_errlist.h:
/usr/include/bits/stdio.h:
/usr/include/bits/stdio2.h:
/usr/include/stdlib.h:
/usr/include/bits/waitflags.h:
/usr/include/bits/waitstatus.h:
/usr/include/endian.h:
/usr/include/bits/endian.h:
/usr/include/bits/byteswap.h:
/usr/include/xlocale.h:
/usr/include/sys/types.h:
/usr/include/time.h:
/usr/include/sys/select.h:
/usr/include/bits/select.h:
/usr/include/bits/sigset.h:
/usr/include/bits/time.h:
/usr/include/sys/sysmacros.h:
/usr/include/bits/pthreadtypes.h:
/usr/include/alloca.h:
/usr/include/bits/stdlib.h:
/usr/include/string.h:
/usr/include/bits/string.h:
/usr/include/bits/string2.h:
/usr/include/bits/string3.h:
/usr/include/SDL/SDL_joystick.h:
/usr/include/SDL/SDL_stdinc.h:
/usr/include/SDL/SDL_config.h:
/usr/include/SDL/SDL_platform.h:
/usr/include/strings.h:
/usr/include/inttypes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdint.h:
/usr/include/stdint.h:
/usr/include/bits/wchar.h:
/usr/include/ctype.h:
/usr/include/iconv.h:
/usr/include/SDL/begin_code.h:
/usr/include/SDL/close_code.h:
/usr/include/SDL/SDL_error.h:
../src/doomkeys.h:
joystick.h:
txt_joybinput.h:
../textscreen/txt_widget.h:
../textscreen/txt_window.h:
../textscreen/txt_widget.h:
../textscreen/txt_table.h:
../textscreen/txt_window_action.h:
../textscreen/txt_window.h:
../textscreen/txt_gui.h:
../textscreen/txt_io.h:
../textscreen/txt_main.h:
../textscreen/txt_sdl.h:
/usr/include/SDL/SDL.h:
/usr/include/SDL/SDL_main.h:
/usr/include/SDL/SDL_audio.h:
/usr/include/SDL/SDL_endian.h:
/usr/include/SDL/SDL_mutex.h:
/usr/include/SDL/SDL_thread.h:
/usr/include/SDL/SDL_rwops.h:
/usr/include/SDL/SDL_cdrom.h:
/usr/include/SDL/SDL_cpuinfo.h:
/usr/include/SDL/SDL_events.h:
/usr/include/SDL/SDL_active.h:
/usr/include/SDL/SDL_keyboard.h:
/usr/include/SDL/SDL_keysym.h:
/usr/include/SDL/SDL_mouse.h:
/usr/include/SDL/SDL_video.h:
/usr/include/SDL/SDL_joystick.h:
/usr/include/SDL/SDL_quit.h:
/usr/include/SDL/SDL_loadso.h:
/usr/include/SDL/SDL_timer.h:
/usr/include/SDL/SDL_version.h:
../textscreen/txt_label.h:
../textscreen/txt_sdl.h:

View File

@ -0,0 +1,210 @@
txt_keyinput.o: txt_keyinput.c /usr/include/stdlib.h \
/usr/include/features.h /usr/include/sys/cdefs.h \
/usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
/usr/include/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stddef.h \
/usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
/usr/include/endian.h /usr/include/bits/endian.h \
/usr/include/bits/byteswap.h /usr/include/xlocale.h \
/usr/include/sys/types.h /usr/include/bits/types.h \
/usr/include/bits/typesizes.h /usr/include/time.h \
/usr/include/sys/select.h /usr/include/bits/select.h \
/usr/include/bits/sigset.h /usr/include/bits/time.h \
/usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
/usr/include/alloca.h /usr/include/bits/stdlib.h /usr/include/string.h \
/usr/include/bits/string.h /usr/include/bits/string2.h \
/usr/include/bits/string3.h ../src/doomkeys.h txt_keyinput.h \
../textscreen/txt_widget.h ../textscreen/txt_gui.h \
../textscreen/txt_io.h ../textscreen/txt_main.h ../textscreen/txt_sdl.h \
/usr/include/SDL/SDL.h /usr/include/SDL/SDL_main.h \
/usr/include/SDL/SDL_stdinc.h /usr/include/SDL/SDL_config.h \
/usr/include/SDL/SDL_platform.h /usr/include/stdio.h \
/usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdarg.h \
/usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
/usr/include/bits/stdio.h /usr/include/bits/stdio2.h \
/usr/include/strings.h /usr/include/inttypes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdint.h \
/usr/include/stdint.h /usr/include/bits/wchar.h /usr/include/ctype.h \
/usr/include/iconv.h /usr/include/SDL/begin_code.h \
/usr/include/SDL/close_code.h /usr/include/SDL/SDL_audio.h \
/usr/include/SDL/SDL_error.h /usr/include/SDL/SDL_endian.h \
/usr/include/SDL/SDL_mutex.h /usr/include/SDL/SDL_thread.h \
/usr/include/SDL/SDL_rwops.h /usr/include/SDL/SDL_cdrom.h \
/usr/include/SDL/SDL_cpuinfo.h /usr/include/SDL/SDL_events.h \
/usr/include/SDL/SDL_active.h /usr/include/SDL/SDL_keyboard.h \
/usr/include/SDL/SDL_keysym.h /usr/include/SDL/SDL_mouse.h \
/usr/include/SDL/SDL_video.h /usr/include/SDL/SDL_joystick.h \
/usr/include/SDL/SDL_quit.h /usr/include/SDL/SDL_loadso.h \
/usr/include/SDL/SDL_timer.h /usr/include/SDL/SDL_version.h \
../textscreen/txt_label.h ../textscreen/txt_widget.h \
../textscreen/txt_window.h ../textscreen/txt_table.h \
../textscreen/txt_window_action.h ../textscreen/txt_window.h
/usr/include/stdlib.h:
/usr/include/features.h:
/usr/include/sys/cdefs.h:
/usr/include/bits/wordsize.h:
/usr/include/gnu/stubs.h:
/usr/include/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stddef.h:
/usr/include/bits/waitflags.h:
/usr/include/bits/waitstatus.h:
/usr/include/endian.h:
/usr/include/bits/endian.h:
/usr/include/bits/byteswap.h:
/usr/include/xlocale.h:
/usr/include/sys/types.h:
/usr/include/bits/types.h:
/usr/include/bits/typesizes.h:
/usr/include/time.h:
/usr/include/sys/select.h:
/usr/include/bits/select.h:
/usr/include/bits/sigset.h:
/usr/include/bits/time.h:
/usr/include/sys/sysmacros.h:
/usr/include/bits/pthreadtypes.h:
/usr/include/alloca.h:
/usr/include/bits/stdlib.h:
/usr/include/string.h:
/usr/include/bits/string.h:
/usr/include/bits/string2.h:
/usr/include/bits/string3.h:
../src/doomkeys.h:
txt_keyinput.h:
../textscreen/txt_widget.h:
../textscreen/txt_gui.h:
../textscreen/txt_io.h:
../textscreen/txt_main.h:
../textscreen/txt_sdl.h:
/usr/include/SDL/SDL.h:
/usr/include/SDL/SDL_main.h:
/usr/include/SDL/SDL_stdinc.h:
/usr/include/SDL/SDL_config.h:
/usr/include/SDL/SDL_platform.h:
/usr/include/stdio.h:
/usr/include/libio.h:
/usr/include/_G_config.h:
/usr/include/wchar.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdarg.h:
/usr/include/bits/stdio_lim.h:
/usr/include/bits/sys_errlist.h:
/usr/include/bits/stdio.h:
/usr/include/bits/stdio2.h:
/usr/include/strings.h:
/usr/include/inttypes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdint.h:
/usr/include/stdint.h:
/usr/include/bits/wchar.h:
/usr/include/ctype.h:
/usr/include/iconv.h:
/usr/include/SDL/begin_code.h:
/usr/include/SDL/close_code.h:
/usr/include/SDL/SDL_audio.h:
/usr/include/SDL/SDL_error.h:
/usr/include/SDL/SDL_endian.h:
/usr/include/SDL/SDL_mutex.h:
/usr/include/SDL/SDL_thread.h:
/usr/include/SDL/SDL_rwops.h:
/usr/include/SDL/SDL_cdrom.h:
/usr/include/SDL/SDL_cpuinfo.h:
/usr/include/SDL/SDL_events.h:
/usr/include/SDL/SDL_active.h:
/usr/include/SDL/SDL_keyboard.h:
/usr/include/SDL/SDL_keysym.h:
/usr/include/SDL/SDL_mouse.h:
/usr/include/SDL/SDL_video.h:
/usr/include/SDL/SDL_joystick.h:
/usr/include/SDL/SDL_quit.h:
/usr/include/SDL/SDL_loadso.h:
/usr/include/SDL/SDL_timer.h:
/usr/include/SDL/SDL_version.h:
../textscreen/txt_label.h:
../textscreen/txt_widget.h:
../textscreen/txt_window.h:
../textscreen/txt_table.h:
../textscreen/txt_window_action.h:
../textscreen/txt_window.h:

View File

@ -0,0 +1,210 @@
txt_mouseinput.o: txt_mouseinput.c /usr/include/stdio.h \
/usr/include/features.h /usr/include/sys/cdefs.h \
/usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
/usr/include/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stddef.h \
/usr/include/bits/types.h /usr/include/bits/typesizes.h \
/usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdarg.h \
/usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
/usr/include/bits/stdio.h /usr/include/bits/stdio2.h \
/usr/include/stdlib.h /usr/include/bits/waitflags.h \
/usr/include/bits/waitstatus.h /usr/include/endian.h \
/usr/include/bits/endian.h /usr/include/bits/byteswap.h \
/usr/include/xlocale.h /usr/include/sys/types.h /usr/include/time.h \
/usr/include/sys/select.h /usr/include/bits/select.h \
/usr/include/bits/sigset.h /usr/include/bits/time.h \
/usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
/usr/include/alloca.h /usr/include/bits/stdlib.h /usr/include/string.h \
/usr/include/bits/string.h /usr/include/bits/string2.h \
/usr/include/bits/string3.h ../src/doomkeys.h txt_mouseinput.h \
../textscreen/txt_widget.h ../textscreen/txt_gui.h \
../textscreen/txt_io.h ../textscreen/txt_main.h ../textscreen/txt_sdl.h \
/usr/include/SDL/SDL.h /usr/include/SDL/SDL_main.h \
/usr/include/SDL/SDL_stdinc.h /usr/include/SDL/SDL_config.h \
/usr/include/SDL/SDL_platform.h /usr/include/strings.h \
/usr/include/inttypes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdint.h \
/usr/include/stdint.h /usr/include/bits/wchar.h /usr/include/ctype.h \
/usr/include/iconv.h /usr/include/SDL/begin_code.h \
/usr/include/SDL/close_code.h /usr/include/SDL/SDL_audio.h \
/usr/include/SDL/SDL_error.h /usr/include/SDL/SDL_endian.h \
/usr/include/SDL/SDL_mutex.h /usr/include/SDL/SDL_thread.h \
/usr/include/SDL/SDL_rwops.h /usr/include/SDL/SDL_cdrom.h \
/usr/include/SDL/SDL_cpuinfo.h /usr/include/SDL/SDL_events.h \
/usr/include/SDL/SDL_active.h /usr/include/SDL/SDL_keyboard.h \
/usr/include/SDL/SDL_keysym.h /usr/include/SDL/SDL_mouse.h \
/usr/include/SDL/SDL_video.h /usr/include/SDL/SDL_joystick.h \
/usr/include/SDL/SDL_quit.h /usr/include/SDL/SDL_loadso.h \
/usr/include/SDL/SDL_timer.h /usr/include/SDL/SDL_version.h \
../textscreen/txt_label.h ../textscreen/txt_widget.h \
../textscreen/txt_window.h ../textscreen/txt_table.h \
../textscreen/txt_window_action.h ../textscreen/txt_window.h
/usr/include/stdio.h:
/usr/include/features.h:
/usr/include/sys/cdefs.h:
/usr/include/bits/wordsize.h:
/usr/include/gnu/stubs.h:
/usr/include/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stddef.h:
/usr/include/bits/types.h:
/usr/include/bits/typesizes.h:
/usr/include/libio.h:
/usr/include/_G_config.h:
/usr/include/wchar.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdarg.h:
/usr/include/bits/stdio_lim.h:
/usr/include/bits/sys_errlist.h:
/usr/include/bits/stdio.h:
/usr/include/bits/stdio2.h:
/usr/include/stdlib.h:
/usr/include/bits/waitflags.h:
/usr/include/bits/waitstatus.h:
/usr/include/endian.h:
/usr/include/bits/endian.h:
/usr/include/bits/byteswap.h:
/usr/include/xlocale.h:
/usr/include/sys/types.h:
/usr/include/time.h:
/usr/include/sys/select.h:
/usr/include/bits/select.h:
/usr/include/bits/sigset.h:
/usr/include/bits/time.h:
/usr/include/sys/sysmacros.h:
/usr/include/bits/pthreadtypes.h:
/usr/include/alloca.h:
/usr/include/bits/stdlib.h:
/usr/include/string.h:
/usr/include/bits/string.h:
/usr/include/bits/string2.h:
/usr/include/bits/string3.h:
../src/doomkeys.h:
txt_mouseinput.h:
../textscreen/txt_widget.h:
../textscreen/txt_gui.h:
../textscreen/txt_io.h:
../textscreen/txt_main.h:
../textscreen/txt_sdl.h:
/usr/include/SDL/SDL.h:
/usr/include/SDL/SDL_main.h:
/usr/include/SDL/SDL_stdinc.h:
/usr/include/SDL/SDL_config.h:
/usr/include/SDL/SDL_platform.h:
/usr/include/strings.h:
/usr/include/inttypes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/stdint.h:
/usr/include/stdint.h:
/usr/include/bits/wchar.h:
/usr/include/ctype.h:
/usr/include/iconv.h:
/usr/include/SDL/begin_code.h:
/usr/include/SDL/close_code.h:
/usr/include/SDL/SDL_audio.h:
/usr/include/SDL/SDL_error.h:
/usr/include/SDL/SDL_endian.h:
/usr/include/SDL/SDL_mutex.h:
/usr/include/SDL/SDL_thread.h:
/usr/include/SDL/SDL_rwops.h:
/usr/include/SDL/SDL_cdrom.h:
/usr/include/SDL/SDL_cpuinfo.h:
/usr/include/SDL/SDL_events.h:
/usr/include/SDL/SDL_active.h:
/usr/include/SDL/SDL_keyboard.h:
/usr/include/SDL/SDL_keysym.h:
/usr/include/SDL/SDL_mouse.h:
/usr/include/SDL/SDL_video.h:
/usr/include/SDL/SDL_joystick.h:
/usr/include/SDL/SDL_quit.h:
/usr/include/SDL/SDL_loadso.h:
/usr/include/SDL/SDL_timer.h:
/usr/include/SDL/SDL_version.h:
../textscreen/txt_label.h:
../textscreen/txt_widget.h:
../textscreen/txt_window.h:
../textscreen/txt_table.h:
../textscreen/txt_window_action.h:
../textscreen/txt_window.h:

View File

@ -0,0 +1,590 @@
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# setup/Makefile. Generated from Makefile.in by configure.
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
pkgdatadir = $(datadir)/psdoom
pkgincludedir = $(includedir)/psdoom
pkglibdir = $(libdir)/psdoom
pkglibexecdir = $(libexecdir)/psdoom
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
games_PROGRAMS = pssetup$(EXEEXT)
subdir = setup
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(srcdir)/setup-manifest.xml.in $(srcdir)/setup-res.rc.in \
$(srcdir)/setup.desktop.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = setup.desktop setup-res.rc setup-manifest.xml
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(gamesdir)" "$(DESTDIR)$(appdir)"
PROGRAMS = $(games_PROGRAMS)
am__pssetup_SOURCES_DIST = compatibility.c \
compatibility.h configfile.c configfile.h display.c display.h \
joystick.c joystick.h keyboard.c keyboard.h m_argv.c m_argv.h \
mainmenu.c mouse.c mouse.h multiplayer.c multiplayer.h sound.c \
sound.h execute.c execute.h txt_joybinput.c txt_joybinput.h \
txt_keyinput.c txt_keyinput.h txt_mouseinput.c \
txt_mouseinput.h setup-res.rc
am__objects_1 = compatibility.$(OBJEXT) configfile.$(OBJEXT) \
display.$(OBJEXT) joystick.$(OBJEXT) keyboard.$(OBJEXT) \
m_argv.$(OBJEXT) mainmenu.$(OBJEXT) mouse.$(OBJEXT) \
multiplayer.$(OBJEXT) sound.$(OBJEXT) execute.$(OBJEXT) \
txt_joybinput.$(OBJEXT) txt_keyinput.$(OBJEXT) \
txt_mouseinput.$(OBJEXT)
am_pssetup_OBJECTS = \
$(am__objects_1)
#am_pssetup_OBJECTS = \
# $(am__objects_1) setup-res.$(OBJEXT)
pssetup_OBJECTS = $(am_pssetup_OBJECTS)
pssetup_DEPENDENCIES = ../wince/libc_wince.a \
../textscreen/libtextscreen.a
DEFAULT_INCLUDES = -I. -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/autotools/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(pssetup_SOURCES)
DIST_SOURCES = $(am__pssetup_SOURCES_DIST)
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
DATA = $(app_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = ${SHELL} /home/orson/Downloads/chocolate-doom-1.6.0/autotools/missing --run aclocal-1.11
AMTAR = ${SHELL} /home/orson/Downloads/chocolate-doom-1.6.0/autotools/missing --run tar
AUTOCONF = ${SHELL} /home/orson/Downloads/chocolate-doom-1.6.0/autotools/missing --run autoconf
AUTOHEADER = ${SHELL} /home/orson/Downloads/chocolate-doom-1.6.0/autotools/missing --run autoheader
AUTOMAKE = ${SHELL} /home/orson/Downloads/chocolate-doom-1.6.0/autotools/missing --run automake-1.11
AWK = gawk
CC = gcc
CCDEPMODE = depmode=gcc3
CFLAGS = -O2 -g -Wall -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT
CPP = gcc -E
CPPFLAGS =
CYGPATH_W = echo
DEFS = -DHAVE_CONFIG_H
DEPDIR = .deps
ECHO_C =
ECHO_N = -n
ECHO_T =
EGREP = /bin/grep -E
EXEEXT =
GREP = /bin/grep
HAVE_PYTHON = true
INSTALL = /usr/bin/install -c
INSTALL_DATA = ${INSTALL} -m 644
INSTALL_PROGRAM = ${INSTALL}
INSTALL_SCRIPT = ${INSTALL}
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
LDFLAGS = -lSDL -lpthread
LIBOBJS =
LIBS = -lm
LTLIBOBJS =
MAKEINFO = ${SHELL} /home/orson/Downloads/chocolate-doom-1.6.0/autotools/missing --run makeinfo
MKDIR_P = /bin/mkdir -p
OBJEXT = o
PACKAGE = psdoom
PACKAGE_BUGREPORT = orsonteodoro@yahoo.com
PACKAGE_COPYRIGHT = Copyright (C) 1993-2012
PACKAGE_LICENSE = GNU General Public License, version 2
PACKAGE_MAINTAINER = Orson Teodoro
PACKAGE_NAME = psdoom
PACKAGE_SHORTDESC = psdoom-ng source port - psDooM with Chocolate Doom
PACKAGE_STRING = psdoom 2012.02.05-1.6.0
PACKAGE_TARNAME = psdoom
PACKAGE_URL = https://github.com/orsonteodoro/psdoom-ng/
PACKAGE_VERSION = 2012.02.05-1.6.0
PATH_SEPARATOR = :
PROGRAM_PREFIX = ps
RANLIB = ranlib
SDLMIXER_CFLAGS =
SDLMIXER_LIBS = -lSDL_mixer
SDLNET_CFLAGS =
SDLNET_LIBS = -lSDL_net
SDL_CFLAGS = -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT
SDL_CONFIG = /usr/bin/sdl-config
SDL_LIBS = -lSDL -lpthread
SET_MAKE =
SHELL = /bin/sh
STRIP = strip
VERSION = 2012.02.05-1.6.0
WINDOWS_RC_VERSION = 2012, 02, 05-1, 6, 0, 0
WINDRES =
abs_builddir = /home/orson/Downloads/chocolate-doom-1.6.0/setup
abs_srcdir = /home/orson/Downloads/chocolate-doom-1.6.0/setup
abs_top_builddir = /home/orson/Downloads/chocolate-doom-1.6.0
abs_top_srcdir = /home/orson/Downloads/chocolate-doom-1.6.0
ac_aux_dir = autotools
ac_ct_CC = gcc
am__include = include
am__leading_dot = .
am__quote =
am__tar = ${AMTAR} chof - "$$tardir"
am__untar = ${AMTAR} xf -
bindir = ${exec_prefix}/bin
build_alias =
builddir = .
datadir = ${datarootdir}
datarootdir = ${prefix}/share
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
dvidir = ${docdir}
exec_prefix = ${prefix}
host_alias =
htmldir = ${docdir}
includedir = ${prefix}/include
infodir = ${datarootdir}/info
install_sh = ${SHELL} /home/orson/Downloads/chocolate-doom-1.6.0/autotools/install-sh
libdir = ${exec_prefix}/lib
libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale
localstatedir = ${prefix}/var
mandir = ${datarootdir}/man
mkdir_p = /bin/mkdir -p
oldincludedir = /usr/include
pdfdir = ${docdir}
prefix = /usr/local
program_transform_name = s,x,x,
psdir = ${docdir}
sbindir = ${exec_prefix}/sbin
sharedstatedir = ${prefix}/com
srcdir = .
sysconfdir = ${prefix}/etc
target_alias =
top_build_prefix = ../
top_builddir = ..
top_srcdir = ..
gamesdir = $(prefix)/games
AM_CFLAGS = -I../textscreen -I../src
SOURCE_FILES = \
compatibility.c compatibility.h \
configfile.c configfile.h \
display.c display.h \
joystick.c joystick.h \
keyboard.c keyboard.h \
m_argv.c m_argv.h \
mainmenu.c \
mouse.c mouse.h \
multiplayer.c multiplayer.h \
sound.c sound.h \
execute.c execute.h \
txt_joybinput.c txt_joybinput.h \
txt_keyinput.c txt_keyinput.h \
txt_mouseinput.c txt_mouseinput.h
EXTRA_DIST = \
setup_icon.c
pssetup_SOURCES = $(SOURCE_FILES)
#pssetup_SOURCES = $(SOURCE_FILES) setup-res.rc
pssetup_LDADD = \
../wince/libc_wince.a \
../textscreen/libtextscreen.a \
-lSDL_mixer \
-lSDL -lpthread
appdir = $(prefix)/share/applications
app_DATA = pssetup.desktop
all: all-am
.SUFFIXES:
.SUFFIXES: .c .o .obj .rc
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu setup/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu setup/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
setup.desktop: $(top_builddir)/config.status $(srcdir)/setup.desktop.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
setup-res.rc: $(top_builddir)/config.status $(srcdir)/setup-res.rc.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
setup-manifest.xml: $(top_builddir)/config.status $(srcdir)/setup-manifest.xml.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
install-gamesPROGRAMS: $(games_PROGRAMS)
@$(NORMAL_INSTALL)
test -z "$(gamesdir)" || $(MKDIR_P) "$(DESTDIR)$(gamesdir)"
@list='$(games_PROGRAMS)'; test -n "$(gamesdir)" || list=; \
for p in $$list; do echo "$$p $$p"; done | \
sed 's/$(EXEEXT)$$//' | \
while read p p1; do if test -f $$p; \
then echo "$$p"; echo "$$p"; else :; fi; \
done | \
sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
-e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
if ($$2 == $$4) files[d] = files[d] " " $$1; \
else { print "f", $$3 "/" $$4, $$1; } } \
END { for (d in files) print "f", d, files[d] }' | \
while read type dir files; do \
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
test -z "$$files" || { \
echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(gamesdir)$$dir'"; \
$(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(gamesdir)$$dir" || exit $$?; \
} \
; done
uninstall-gamesPROGRAMS:
@$(NORMAL_UNINSTALL)
@list='$(games_PROGRAMS)'; test -n "$(gamesdir)" || list=; \
files=`for p in $$list; do echo "$$p"; done | \
sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-e 's/$$/$(EXEEXT)/' `; \
test -n "$$list" || exit 0; \
echo " ( cd '$(DESTDIR)$(gamesdir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(gamesdir)" && rm -f $$files
clean-gamesPROGRAMS:
-test -z "$(games_PROGRAMS)" || rm -f $(games_PROGRAMS)
pssetup$(EXEEXT): $(pssetup_OBJECTS) $(pssetup_DEPENDENCIES)
@rm -f pssetup$(EXEEXT)
$(LINK) $(pssetup_OBJECTS) $(pssetup_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
include ./$(DEPDIR)/compatibility.Po
include ./$(DEPDIR)/configfile.Po
include ./$(DEPDIR)/display.Po
include ./$(DEPDIR)/execute.Po
include ./$(DEPDIR)/joystick.Po
include ./$(DEPDIR)/keyboard.Po
include ./$(DEPDIR)/m_argv.Po
include ./$(DEPDIR)/mainmenu.Po
include ./$(DEPDIR)/mouse.Po
include ./$(DEPDIR)/multiplayer.Po
include ./$(DEPDIR)/sound.Po
include ./$(DEPDIR)/txt_joybinput.Po
include ./$(DEPDIR)/txt_keyinput.Po
include ./$(DEPDIR)/txt_mouseinput.Po
.c.o:
$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
# source='$<' object='$@' libtool=no \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(COMPILE) -c $<
.c.obj:
$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
# source='$<' object='$@' libtool=no \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(COMPILE) -c `$(CYGPATH_W) '$<'`
install-appDATA: $(app_DATA)
@$(NORMAL_INSTALL)
test -z "$(appdir)" || $(MKDIR_P) "$(DESTDIR)$(appdir)"
@list='$(app_DATA)'; test -n "$(appdir)" || list=; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(appdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(appdir)" || exit $$?; \
done
uninstall-appDATA:
@$(NORMAL_UNINSTALL)
@list='$(app_DATA)'; test -n "$(appdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
test -n "$$files" || exit 0; \
echo " ( cd '$(DESTDIR)$(appdir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(appdir)" && rm -f $$files
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS) $(DATA)
installdirs:
for dir in "$(DESTDIR)$(gamesdir)" "$(DESTDIR)$(appdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-gamesPROGRAMS clean-generic mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-appDATA install-gamesPROGRAMS
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-appDATA uninstall-gamesPROGRAMS
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-am clean \
clean-gamesPROGRAMS clean-generic ctags distclean \
distclean-compile distclean-generic distclean-tags distdir dvi \
dvi-am html html-am info info-am install install-am \
install-appDATA install-data install-data-am install-dvi \
install-dvi-am install-exec install-exec-am \
install-gamesPROGRAMS install-html install-html-am \
install-info install-info-am install-man install-pdf \
install-pdf-am install-ps install-ps-am install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
uninstall-am uninstall-appDATA uninstall-gamesPROGRAMS
pssetup.desktop : setup.desktop
cp $^ $@
.rc.o:
$(WINDRES) $^ -o $@
%.o : %.rc
$(WINDRES) $^ -o $@
setup_icon.c : ../data/setup8.ico
../data/convert-icon $^ $@
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -0,0 +1,56 @@
gamesdir = $(prefix)/games
AM_CFLAGS = -I../textscreen -I../src @SDLMIXER_CFLAGS@
games_PROGRAMS = @PROGRAM_PREFIX@setup
SOURCE_FILES = \
compatibility.c compatibility.h \
configfile.c configfile.h \
display.c display.h \
joystick.c joystick.h \
keyboard.c keyboard.h \
m_argv.c m_argv.h \
mainmenu.c \
mouse.c mouse.h \
multiplayer.c multiplayer.h \
sound.c sound.h \
execute.c execute.h \
txt_joybinput.c txt_joybinput.h \
txt_keyinput.c txt_keyinput.h \
txt_mouseinput.c txt_mouseinput.h
EXTRA_DIST= \
setup_icon.c
if HAVE_WINDRES
@PROGRAM_PREFIX@setup_SOURCES=$(SOURCE_FILES) setup-res.rc
else
@PROGRAM_PREFIX@setup_SOURCES=$(SOURCE_FILES)
endif
@PROGRAM_PREFIX@setup_LDADD = \
../wince/libc_wince.a \
../textscreen/libtextscreen.a \
@SDLMIXER_LIBS@ \
@LDFLAGS@
appdir = $(prefix)/share/applications
app_DATA = @PROGRAM_PREFIX@setup.desktop
@PROGRAM_PREFIX@setup.desktop : setup.desktop
cp $^ $@
.rc.o:
$(WINDRES) $^ -o $@
%.o : %.rc
$(WINDRES) $^ -o $@
if HAVE_PYTHON
setup_icon.c : ../data/setup8.ico
../data/convert-icon $^ $@
endif

View File

@ -0,0 +1,590 @@
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
games_PROGRAMS = @PROGRAM_PREFIX@setup$(EXEEXT)
subdir = setup
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(srcdir)/setup-manifest.xml.in $(srcdir)/setup-res.rc.in \
$(srcdir)/setup.desktop.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = setup.desktop setup-res.rc setup-manifest.xml
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(gamesdir)" "$(DESTDIR)$(appdir)"
PROGRAMS = $(games_PROGRAMS)
am__@PROGRAM_PREFIX@setup_SOURCES_DIST = compatibility.c \
compatibility.h configfile.c configfile.h display.c display.h \
joystick.c joystick.h keyboard.c keyboard.h m_argv.c m_argv.h \
mainmenu.c mouse.c mouse.h multiplayer.c multiplayer.h sound.c \
sound.h execute.c execute.h txt_joybinput.c txt_joybinput.h \
txt_keyinput.c txt_keyinput.h txt_mouseinput.c \
txt_mouseinput.h setup-res.rc
am__objects_1 = compatibility.$(OBJEXT) configfile.$(OBJEXT) \
display.$(OBJEXT) joystick.$(OBJEXT) keyboard.$(OBJEXT) \
m_argv.$(OBJEXT) mainmenu.$(OBJEXT) mouse.$(OBJEXT) \
multiplayer.$(OBJEXT) sound.$(OBJEXT) execute.$(OBJEXT) \
txt_joybinput.$(OBJEXT) txt_keyinput.$(OBJEXT) \
txt_mouseinput.$(OBJEXT)
@HAVE_WINDRES_FALSE@am_@PROGRAM_PREFIX@setup_OBJECTS = \
@HAVE_WINDRES_FALSE@ $(am__objects_1)
@HAVE_WINDRES_TRUE@am_@PROGRAM_PREFIX@setup_OBJECTS = \
@HAVE_WINDRES_TRUE@ $(am__objects_1) setup-res.$(OBJEXT)
@PROGRAM_PREFIX@setup_OBJECTS = $(am_@PROGRAM_PREFIX@setup_OBJECTS)
@PROGRAM_PREFIX@setup_DEPENDENCIES = ../wince/libc_wince.a \
../textscreen/libtextscreen.a
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/autotools/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(@PROGRAM_PREFIX@setup_SOURCES)
DIST_SOURCES = $(am__@PROGRAM_PREFIX@setup_SOURCES_DIST)
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
DATA = $(app_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
GREP = @GREP@
HAVE_PYTHON = @HAVE_PYTHON@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_COPYRIGHT = @PACKAGE_COPYRIGHT@
PACKAGE_LICENSE = @PACKAGE_LICENSE@
PACKAGE_MAINTAINER = @PACKAGE_MAINTAINER@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_SHORTDESC = @PACKAGE_SHORTDESC@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PROGRAM_PREFIX = @PROGRAM_PREFIX@
RANLIB = @RANLIB@
SDLMIXER_CFLAGS = @SDLMIXER_CFLAGS@
SDLMIXER_LIBS = @SDLMIXER_LIBS@
SDLNET_CFLAGS = @SDLNET_CFLAGS@
SDLNET_LIBS = @SDLNET_LIBS@
SDL_CFLAGS = @SDL_CFLAGS@
SDL_CONFIG = @SDL_CONFIG@
SDL_LIBS = @SDL_LIBS@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
WINDOWS_RC_VERSION = @WINDOWS_RC_VERSION@
WINDRES = @WINDRES@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_aux_dir = @ac_aux_dir@
ac_ct_CC = @ac_ct_CC@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build_alias = @build_alias@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
gamesdir = $(prefix)/games
AM_CFLAGS = -I../textscreen -I../src @SDLMIXER_CFLAGS@
SOURCE_FILES = \
compatibility.c compatibility.h \
configfile.c configfile.h \
display.c display.h \
joystick.c joystick.h \
keyboard.c keyboard.h \
m_argv.c m_argv.h \
mainmenu.c \
mouse.c mouse.h \
multiplayer.c multiplayer.h \
sound.c sound.h \
execute.c execute.h \
txt_joybinput.c txt_joybinput.h \
txt_keyinput.c txt_keyinput.h \
txt_mouseinput.c txt_mouseinput.h
EXTRA_DIST = \
setup_icon.c
@HAVE_WINDRES_FALSE@@PROGRAM_PREFIX@setup_SOURCES = $(SOURCE_FILES)
@HAVE_WINDRES_TRUE@@PROGRAM_PREFIX@setup_SOURCES = $(SOURCE_FILES) setup-res.rc
@PROGRAM_PREFIX@setup_LDADD = \
../wince/libc_wince.a \
../textscreen/libtextscreen.a \
@SDLMIXER_LIBS@ \
@LDFLAGS@
appdir = $(prefix)/share/applications
app_DATA = @PROGRAM_PREFIX@setup.desktop
all: all-am
.SUFFIXES:
.SUFFIXES: .c .o .obj .rc
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu setup/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu setup/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
setup.desktop: $(top_builddir)/config.status $(srcdir)/setup.desktop.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
setup-res.rc: $(top_builddir)/config.status $(srcdir)/setup-res.rc.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
setup-manifest.xml: $(top_builddir)/config.status $(srcdir)/setup-manifest.xml.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
install-gamesPROGRAMS: $(games_PROGRAMS)
@$(NORMAL_INSTALL)
test -z "$(gamesdir)" || $(MKDIR_P) "$(DESTDIR)$(gamesdir)"
@list='$(games_PROGRAMS)'; test -n "$(gamesdir)" || list=; \
for p in $$list; do echo "$$p $$p"; done | \
sed 's/$(EXEEXT)$$//' | \
while read p p1; do if test -f $$p; \
then echo "$$p"; echo "$$p"; else :; fi; \
done | \
sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
-e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
if ($$2 == $$4) files[d] = files[d] " " $$1; \
else { print "f", $$3 "/" $$4, $$1; } } \
END { for (d in files) print "f", d, files[d] }' | \
while read type dir files; do \
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
test -z "$$files" || { \
echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(gamesdir)$$dir'"; \
$(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(gamesdir)$$dir" || exit $$?; \
} \
; done
uninstall-gamesPROGRAMS:
@$(NORMAL_UNINSTALL)
@list='$(games_PROGRAMS)'; test -n "$(gamesdir)" || list=; \
files=`for p in $$list; do echo "$$p"; done | \
sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-e 's/$$/$(EXEEXT)/' `; \
test -n "$$list" || exit 0; \
echo " ( cd '$(DESTDIR)$(gamesdir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(gamesdir)" && rm -f $$files
clean-gamesPROGRAMS:
-test -z "$(games_PROGRAMS)" || rm -f $(games_PROGRAMS)
@PROGRAM_PREFIX@setup$(EXEEXT): $(@PROGRAM_PREFIX@setup_OBJECTS) $(@PROGRAM_PREFIX@setup_DEPENDENCIES)
@rm -f @PROGRAM_PREFIX@setup$(EXEEXT)
$(LINK) $(@PROGRAM_PREFIX@setup_OBJECTS) $(@PROGRAM_PREFIX@setup_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/compatibility.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/configfile.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/display.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execute.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/joystick.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyboard.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/m_argv.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mainmenu.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mouse.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multiplayer.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sound.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/txt_joybinput.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/txt_keyinput.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/txt_mouseinput.Po@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
install-appDATA: $(app_DATA)
@$(NORMAL_INSTALL)
test -z "$(appdir)" || $(MKDIR_P) "$(DESTDIR)$(appdir)"
@list='$(app_DATA)'; test -n "$(appdir)" || list=; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(appdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(appdir)" || exit $$?; \
done
uninstall-appDATA:
@$(NORMAL_UNINSTALL)
@list='$(app_DATA)'; test -n "$(appdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
test -n "$$files" || exit 0; \
echo " ( cd '$(DESTDIR)$(appdir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(appdir)" && rm -f $$files
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS) $(DATA)
installdirs:
for dir in "$(DESTDIR)$(gamesdir)" "$(DESTDIR)$(appdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-gamesPROGRAMS clean-generic mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-appDATA install-gamesPROGRAMS
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-appDATA uninstall-gamesPROGRAMS
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-am clean \
clean-gamesPROGRAMS clean-generic ctags distclean \
distclean-compile distclean-generic distclean-tags distdir dvi \
dvi-am html html-am info info-am install install-am \
install-appDATA install-data install-data-am install-dvi \
install-dvi-am install-exec install-exec-am \
install-gamesPROGRAMS install-html install-html-am \
install-info install-info-am install-man install-pdf \
install-pdf-am install-ps install-ps-am install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
uninstall-am uninstall-appDATA uninstall-gamesPROGRAMS
@PROGRAM_PREFIX@setup.desktop : setup.desktop
cp $^ $@
.rc.o:
$(WINDRES) $^ -o $@
%.o : %.rc
$(WINDRES) $^ -o $@
@HAVE_PYTHON_TRUE@setup_icon.c : ../data/setup8.ico
@HAVE_PYTHON_TRUE@ ../data/convert-icon $^ $@
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

Binary file not shown.

View File

@ -0,0 +1,7 @@
[Desktop Entry]
Name=Chocolate Doom Setup
Exec=chocolate-setup
Icon=chocolate-setup
Type=Application
Comment=Setup tool for Chocolate Doom
Categories=Settings;ConsoleOnly;

View File

@ -0,0 +1,46 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
// Copyright(C) 2006 Simon Howard
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
// Sound control menu
#include <stdlib.h>
#include "textscreen.h"
#include "compatibility.h"
int vanilla_savegame_limit = 1;
int vanilla_demo_limit = 1;
void CompatibilitySettings(void)
{
txt_window_t *window;
window = TXT_NewWindow("Compatibility");
TXT_AddWidgets(window,
TXT_NewCheckBox("Vanilla savegame limit",
&vanilla_savegame_limit),
TXT_NewCheckBox("Vanilla demo limit",
&vanilla_demo_limit),
NULL);
}

View File

@ -0,0 +1,31 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
// Copyright(C) 2006 Simon Howard
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
#ifndef SETUP_COMPATIBILITY_H
#define SETUP_COMPATIBILITY_H
extern int vanilla_savegame_limit;
extern int vanilla_demo_limit;
void CompatibilitySettings(void);
#endif /* #ifndef SETUP_COMPATIBILITY_H */

View File

@ -0,0 +1,803 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
// Copyright(C) 1993-1996 Id Software, Inc.
// Copyright(C) 2005 Simon Howard
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
//
// DESCRIPTION:
// Configuration file load/save code.
//
//-----------------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
// for mkdir:
#ifdef _WIN32
#include <io.h>
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#else
#include <sys/stat.h>
#include <sys/types.h>
#endif
#include "SDL_mixer.h"
#include "config.h"
#include "doomfeatures.h"
#include "doomkeys.h"
#include "doomtype.h"
#include "d_englsh.h"
#include "m_argv.h"
#include "compatibility.h"
#include "display.h"
#include "joystick.h"
#include "keyboard.h"
#include "mouse.h"
#include "multiplayer.h"
#include "sound.h"
char *configdir;
//
// Create a directory
//
void M_MakeDirectory(char *path)
{
#ifdef _WIN32
mkdir(path);
#else
mkdir(path, 0755);
#endif
}
//
// M_SetConfigDir:
//
// Sets the location of the configuration directory, where configuration
// files are stored - default.cfg, chocolate-doom.cfg, savegames, etc.
//
void M_SetConfigDir(void)
{
#if !defined(_WIN32) || defined(_WIN32_WCE)
// Configuration settings are stored in ~/.chocolate-doom/,
// except on Windows, where we behave like Vanilla Doom and
// save in the current directory.
char *homedir;
homedir = getenv("HOME");
if (homedir != NULL)
{
// put all configuration in a config directory off the
// homedir
configdir = malloc(strlen(homedir) + strlen(PACKAGE_TARNAME) + 5);
sprintf(configdir, "%s%c.%s%c", homedir, DIR_SEPARATOR,
PACKAGE_TARNAME, DIR_SEPARATOR);
// make the directory if it doesnt already exist
M_MakeDirectory(configdir);
}
else
#endif /* #ifndef _WIN32 */
{
#if defined(_WIN32) && !defined(_WIN32_WCE)
// when given the -cdrom option, save config+savegames in
// c:\doomdata. This only applies under Windows.
if (M_CheckParm("-cdrom") > 0)
{
printf(D_CDROM);
configdir = strdup("c:\\doomdata\\");
M_MakeDirectory(configdir);
}
else
#endif
{
configdir = strdup("");
}
}
}
//
// DEFAULTS
//
// These are options that are not controlled by setup.
static int showMessages = 1;
static int screenblocks = 9;
static int detailLevel = 0;
static int usegamma = 0;
// dos specific options: these are unused but should be maintained
// so that the config file can be shared between chocolate
// doom and doom.exe
static int snd_sbport = 0;
static int snd_sbirq = 0;
static int snd_sbdma = 0;
static int snd_mport = 0;
typedef enum
{
DEFAULT_INT,
DEFAULT_INT_HEX,
DEFAULT_STRING,
DEFAULT_FLOAT,
DEFAULT_KEY,
} default_type_t;
typedef struct
{
// Name of the variable
char * name;
// Pointer to the location in memory of the variable
void * location;
// Type of the variable
default_type_t type;
// If this is a key value, the original integer scancode we read from
// the config file before translating it to the internal key value.
// If zero, we didn't read this value from a config file.
int untranslated;
// The value we translated the scancode into when we read the
// config file on startup. If the variable value is different from
// this, it has been changed and needs to be converted; otherwise,
// use the 'untranslated' value.
int original_translated;
} default_t;
typedef struct
{
default_t *defaults;
int numdefaults;
char *filename;
} default_collection_t;
static default_t doom_defaults_list[] =
{
{"mouse_sensitivity", &mouseSensitivity, DEFAULT_INT, 0, 0},
{"sfx_volume",&sfxVolume, DEFAULT_INT, 0, 0},
{"music_volume",&musicVolume, DEFAULT_INT, 0, 0},
{"show_messages",&showMessages, DEFAULT_INT, 0, 0},
{"key_right",&key_right, DEFAULT_KEY, 0, 0},
{"key_left",&key_left, DEFAULT_KEY, 0, 0},
{"key_up",&key_up, DEFAULT_KEY, 0, 0},
{"key_down",&key_down, DEFAULT_KEY, 0, 0},
{"key_strafeleft",&key_strafeleft, DEFAULT_KEY, 0, 0},
{"key_straferight",&key_straferight, DEFAULT_KEY, 0, 0},
{"key_fire",&key_fire, DEFAULT_KEY, 0, 0},
{"key_use",&key_use, DEFAULT_KEY, 0, 0},
{"key_strafe",&key_strafe, DEFAULT_KEY, 0, 0},
{"key_speed",&key_speed, DEFAULT_KEY, 0, 0},
{"use_mouse",&usemouse, DEFAULT_INT, 0, 0},
{"mouseb_fire",&mousebfire, DEFAULT_INT, 0, 0},
{"mouseb_strafe",&mousebstrafe, DEFAULT_INT, 0, 0},
{"mouseb_forward",&mousebforward, DEFAULT_INT, 0, 0},
{"use_joystick",&usejoystick, DEFAULT_INT, 0, 0},
{"joyb_fire",&joybfire, DEFAULT_INT, 0, 0},
{"joyb_strafe",&joybstrafe, DEFAULT_INT, 0, 0},
{"joyb_use",&joybuse, DEFAULT_INT, 0, 0},
{"joyb_speed",&joybspeed, DEFAULT_INT, 0, 0},
{"screenblocks",&screenblocks, DEFAULT_INT, 0, 0},
{"detaillevel",&detailLevel, DEFAULT_INT, 0, 0},
{"snd_channels",&numChannels, DEFAULT_INT, 0, 0},
{"snd_musicdevice", &snd_musicdevice, DEFAULT_INT, 0, 0},
{"snd_sfxdevice", &snd_sfxdevice, DEFAULT_INT, 0, 0},
{"snd_sbport", &snd_sbport, DEFAULT_INT, 0, 0},
{"snd_sbirq", &snd_sbirq, DEFAULT_INT, 0, 0},
{"snd_sbdma", &snd_sbdma, DEFAULT_INT, 0, 0},
{"snd_mport", &snd_mport, DEFAULT_INT, 0, 0},
{"usegamma", &usegamma, DEFAULT_INT, 0, 0},
{"chatmacro0", &chat_macros[0], DEFAULT_STRING, 0, 0 },
{"chatmacro1", &chat_macros[1], DEFAULT_STRING, 0, 0 },
{"chatmacro2", &chat_macros[2], DEFAULT_STRING, 0, 0 },
{"chatmacro3", &chat_macros[3], DEFAULT_STRING, 0, 0 },
{"chatmacro4", &chat_macros[4], DEFAULT_STRING, 0, 0 },
{"chatmacro5", &chat_macros[5], DEFAULT_STRING, 0, 0 },
{"chatmacro6", &chat_macros[6], DEFAULT_STRING, 0, 0 },
{"chatmacro7", &chat_macros[7], DEFAULT_STRING, 0, 0 },
{"chatmacro8", &chat_macros[8], DEFAULT_STRING, 0, 0 },
{"chatmacro9", &chat_macros[9], DEFAULT_STRING, 0, 0 },
};
static default_collection_t doom_defaults =
{
doom_defaults_list,
arrlen(doom_defaults_list),
NULL,
};
static default_t extra_defaults_list[] =
{
{"autoadjust_video_settings", &autoadjust_video_settings, DEFAULT_INT, 0, 0},
{"fullscreen", &fullscreen, DEFAULT_INT, 0, 0},
{"aspect_ratio_correct", &aspect_ratio_correct, DEFAULT_INT, 0, 0},
{"startup_delay", &startup_delay, DEFAULT_INT, 0, 0},
{"screen_width", &screen_width, DEFAULT_INT, 0, 0},
{"screen_height", &screen_height, DEFAULT_INT, 0, 0},
{"screen_bpp", &screen_bpp, DEFAULT_INT, 0, 0},
{"grabmouse", &grabmouse, DEFAULT_INT, 0, 0},
{"novert", &novert, DEFAULT_INT, 0, 0},
{"mouse_acceleration", &mouse_acceleration, DEFAULT_FLOAT, 0, 0},
{"mouse_threshold", &mouse_threshold, DEFAULT_INT, 0, 0},
{"snd_samplerate", &snd_samplerate, DEFAULT_INT, 0, 0},
{"opl_io_port", &opl_io_port, DEFAULT_INT_HEX, 0, 0},
{"show_endoom", &show_endoom, DEFAULT_INT, 0, 0},
{"vanilla_savegame_limit", &vanilla_savegame_limit, DEFAULT_INT, 0, 0},
{"vanilla_demo_limit", &vanilla_demo_limit, DEFAULT_INT, 0, 0},
{"vanilla_keyboard_mapping", &vanilla_keyboard_mapping, DEFAULT_INT, 0, 0},
#ifdef FEATURE_MULTIPLAYER
{"player_name", &net_player_name, DEFAULT_STRING, 0, 0},
#endif
{"video_driver", &video_driver, DEFAULT_STRING, 0, 0},
{"joystick_index", &joystick_index, DEFAULT_INT, 0, 0},
{"joystick_x_axis", &joystick_x_axis, DEFAULT_INT, 0, 0},
{"joystick_x_invert", &joystick_x_invert, DEFAULT_INT, 0, 0},
{"joystick_y_axis", &joystick_y_axis, DEFAULT_INT, 0, 0},
{"joystick_y_invert", &joystick_y_invert, DEFAULT_INT, 0, 0},
{"joyb_strafeleft", &joybstrafeleft, DEFAULT_INT, 0, 0},
{"joyb_straferight", &joybstraferight, DEFAULT_INT, 0, 0},
{"joyb_prevweapon", &joybprevweapon, DEFAULT_INT, 0, 0},
{"joyb_nextweapon", &joybnextweapon, DEFAULT_INT, 0, 0},
{"dclick_use", &dclick_use, DEFAULT_INT, 0, 0},
{"mouseb_strafeleft", &mousebstrafeleft, DEFAULT_INT, 0, 0},
{"mouseb_straferight", &mousebstraferight, DEFAULT_INT, 0, 0},
{"mouseb_use", &mousebuse, DEFAULT_INT, 0, 0},
{"mouseb_backward", &mousebbackward, DEFAULT_INT, 0, 0},
{"mouseb_prevweapon", &mousebprevweapon, DEFAULT_INT, 0, 0},
{"mouseb_nextweapon", &mousebnextweapon, DEFAULT_INT, 0, 0},
{"use_libsamplerate", &use_libsamplerate, DEFAULT_INT, 0, 0},
{"key_pause", &key_pause, DEFAULT_KEY, 0, 0},
{"key_menu_activate", &key_menu_activate, DEFAULT_KEY, 0, 0},
{"key_menu_up", &key_menu_up, DEFAULT_KEY, 0, 0},
{"key_menu_down", &key_menu_down, DEFAULT_KEY, 0, 0},
{"key_menu_left", &key_menu_left, DEFAULT_KEY, 0, 0},
{"key_menu_right", &key_menu_right, DEFAULT_KEY, 0, 0},
{"key_menu_back", &key_menu_back, DEFAULT_KEY, 0, 0},
{"key_menu_forward", &key_menu_forward, DEFAULT_KEY, 0, 0},
{"key_menu_confirm", &key_menu_confirm, DEFAULT_KEY, 0, 0},
{"key_menu_abort", &key_menu_abort, DEFAULT_KEY, 0, 0},
{"key_menu_help", &key_menu_help, DEFAULT_KEY, 0, 0},
{"key_menu_save", &key_menu_save, DEFAULT_KEY, 0, 0},
{"key_menu_load", &key_menu_load, DEFAULT_KEY, 0, 0},
{"key_menu_volume", &key_menu_volume, DEFAULT_KEY, 0, 0},
{"key_menu_detail", &key_menu_detail, DEFAULT_KEY, 0, 0},
{"key_menu_qsave", &key_menu_qsave, DEFAULT_KEY, 0, 0},
{"key_menu_endgame", &key_menu_endgame, DEFAULT_KEY, 0, 0},
{"key_menu_messages", &key_menu_messages, DEFAULT_KEY, 0, 0},
{"key_menu_qload", &key_menu_qload, DEFAULT_KEY, 0, 0},
{"key_menu_quit", &key_menu_quit, DEFAULT_KEY, 0, 0},
{"key_menu_gamma", &key_menu_gamma, DEFAULT_KEY, 0, 0},
{"key_spy", &key_spy, DEFAULT_KEY, 0, 0},
{"key_menu_incscreen", &key_menu_incscreen, DEFAULT_KEY, 0, 0},
{"key_menu_decscreen", &key_menu_decscreen, DEFAULT_KEY, 0, 0},
{"key_map_toggle", &key_map_toggle, DEFAULT_KEY, 0, 0},
{"key_map_north", &key_map_north, DEFAULT_KEY, 0, 0},
{"key_map_south", &key_map_south, DEFAULT_KEY, 0, 0},
{"key_map_east", &key_map_east, DEFAULT_KEY, 0, 0},
{"key_map_west", &key_map_west, DEFAULT_KEY, 0, 0},
{"key_map_zoomin", &key_map_zoomin, DEFAULT_KEY, 0, 0},
{"key_map_zoomout", &key_map_zoomout, DEFAULT_KEY, 0, 0},
{"key_map_maxzoom", &key_map_maxzoom, DEFAULT_KEY, 0, 0},
{"key_map_follow", &key_map_follow, DEFAULT_KEY, 0, 0},
{"key_map_grid", &key_map_grid, DEFAULT_KEY, 0, 0},
{"key_map_mark", &key_map_mark, DEFAULT_KEY, 0, 0},
{"key_map_clearmark", &key_map_clearmark, DEFAULT_KEY, 0, 0},
{"key_weapon1", &key_weapon1, DEFAULT_KEY, 0, 0},
{"key_weapon2", &key_weapon2, DEFAULT_KEY, 0, 0},
{"key_weapon3", &key_weapon3, DEFAULT_KEY, 0, 0},
{"key_weapon4", &key_weapon4, DEFAULT_KEY, 0, 0},
{"key_weapon5", &key_weapon5, DEFAULT_KEY, 0, 0},
{"key_weapon6", &key_weapon6, DEFAULT_KEY, 0, 0},
{"key_weapon7", &key_weapon7, DEFAULT_KEY, 0, 0},
{"key_weapon8", &key_weapon8, DEFAULT_KEY, 0, 0},
{"key_prevweapon", &key_prevweapon, DEFAULT_KEY, 0, 0},
{"key_nextweapon", &key_nextweapon, DEFAULT_KEY, 0, 0},
{"key_message_refresh", &key_message_refresh, DEFAULT_KEY, 0, 0},
{"key_demo_quit", &key_demo_quit, DEFAULT_KEY, 0, 0},
{"key_multi_msg", &key_multi_msg, DEFAULT_KEY, 0, 0},
{"key_multi_msgplayer1", &key_multi_msgplayer[0], DEFAULT_KEY, 0, 0},
{"key_multi_msgplayer2", &key_multi_msgplayer[1], DEFAULT_KEY, 0, 0},
{"key_multi_msgplayer3", &key_multi_msgplayer[2], DEFAULT_KEY, 0, 0},
{"key_multi_msgplayer4", &key_multi_msgplayer[3], DEFAULT_KEY, 0, 0},
};
static default_collection_t extra_defaults =
{
extra_defaults_list,
arrlen(extra_defaults_list),
NULL,
};
static int scantokey[128] =
{
0 , 27, '1', '2', '3', '4', '5', '6',
'7', '8', '9', '0', '-', '=', KEY_BACKSPACE, 9,
'q', 'w', 'e', 'r', 't', 'y', 'u', 'i',
'o', 'p', '[', ']', 13, KEY_RCTRL, 'a', 's',
'd', 'f', 'g', 'h', 'j', 'k', 'l', ';',
'\'', '`', KEY_RSHIFT,'\\', 'z', 'x', 'c', 'v',
'b', 'n', 'm', ',', '.', '/', KEY_RSHIFT,KEYP_MULTIPLY,
KEY_RALT, ' ', KEY_CAPSLOCK,KEY_F1, KEY_F2, KEY_F3, KEY_F4, KEY_F5,
KEY_F6, KEY_F7, KEY_F8, KEY_F9, KEY_F10, KEY_PAUSE,KEY_SCRLCK,KEY_HOME,
KEY_UPARROW,KEY_PGUP,KEYP_MINUS,KEY_LEFTARROW,KEYP_5,KEY_RIGHTARROW,KEYP_PLUS,KEY_END,
KEY_DOWNARROW,KEY_PGDN,KEY_INS,KEY_DEL,0, 0, 0, KEY_F11,
KEY_F12, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0
};
static void SaveDefaultCollection(default_collection_t *collection)
{
default_t *defaults;
int i, v;
FILE *f;
f = fopen (collection->filename, "w");
if (!f)
return; // can't write the file, but don't complain
defaults = collection->defaults;
for (i=0 ; i<collection->numdefaults ; i++)
{
int chars_written;
// Print the name and line up all values at 30 characters
chars_written = fprintf(f, "%s ", defaults[i].name);
for (; chars_written < 30; ++chars_written)
fprintf(f, " ");
// Print the value
switch (defaults[i].type)
{
case DEFAULT_KEY:
// use the untranslated version if we can, to reduce
// the possibility of screwing up the user's config
// file
v = * (int *) defaults[i].location;
if (v == KEY_RSHIFT)
{
// Special case: for shift, force scan code for
// right shift, as this is what Vanilla uses.
// This overrides the change check below, to fix
// configuration files made by old versions that
// mistakenly used the scan code for left shift.
v = 54;
}
else if (defaults[i].untranslated
&& v == defaults[i].original_translated)
{
// Has not been changed since the last time we
// read the config file.
v = defaults[i].untranslated;
}
else
{
// search for a reverse mapping back to a scancode
// in the scantokey table
int s;
for (s=0; s<128; ++s)
{
if (scantokey[s] == v)
{
v = s;
break;
}
}
}
fprintf(f, "%i", v);
break;
case DEFAULT_INT_HEX:
fprintf(f, "0x%x", * (int *) defaults[i].location);
break;
case DEFAULT_INT:
fprintf(f, "%i", * (int *) defaults[i].location);
break;
case DEFAULT_FLOAT:
fprintf(f, "%f", * (float *) defaults[i].location);
break;
case DEFAULT_STRING:
fprintf(f,"\"%s\"", * (char **) (defaults[i].location));
break;
}
fprintf(f, "\n");
}
fclose (f);
}
// Parses integer values in the configuration file
static int ParseIntParameter(char *strparm)
{
int parm;
if (strparm[0] == '0' && strparm[1] == 'x')
sscanf(strparm+2, "%x", &parm);
else
sscanf(strparm, "%i", &parm);
return parm;
}
static void LoadDefaultCollection(default_collection_t *collection)
{
default_t *defaults = collection->defaults;
int i;
FILE* f;
char defname[80];
char strparm[100];
// read the file in, overriding any set defaults
f = fopen(collection->filename, "r");
if (!f)
{
// File not opened, but don't complain
return;
}
while (!feof(f))
{
if (fscanf (f, "%79s %[^\n]\n", defname, strparm) != 2)
{
// This line doesn't match
continue;
}
// Strip off trailing non-printable characters (\r characters
// from DOS text files)
while (strlen(strparm) > 0 && !isprint(strparm[strlen(strparm)-1]))
{
strparm[strlen(strparm)-1] = '\0';
}
// Find the setting in the list
for (i=0; i<collection->numdefaults; ++i)
{
default_t *def = &collection->defaults[i];
char *s;
int intparm;
if (strcmp(defname, def->name) != 0)
{
// not this one
continue;
}
// parameter found
switch (def->type)
{
case DEFAULT_STRING:
s = strdup(strparm + 1);
s[strlen(s) - 1] = '\0';
* (char **) def->location = s;
break;
case DEFAULT_INT:
case DEFAULT_INT_HEX:
* (int *) def->location = ParseIntParameter(strparm);
break;
case DEFAULT_KEY:
// translate scancodes read from config
// file (save the old value in untranslated)
intparm = ParseIntParameter(strparm);
defaults[i].untranslated = intparm;
if (intparm >= 0 && intparm < 128)
{
intparm = scantokey[intparm];
}
else
{
intparm = 0;
}
defaults[i].original_translated = intparm;
* (int *) def->location = intparm;
break;
case DEFAULT_FLOAT:
* (float *) def->location = atof(strparm);
break;
}
// finish
break;
}
}
fclose (f);
}
//
// M_SaveDefaults
//
void M_SaveDefaults (void)
{
SaveDefaultCollection(&doom_defaults);
SaveDefaultCollection(&extra_defaults);
}
//
// M_LoadDefaults
//
void M_LoadDefaults (void)
{
int i;
// check for a custom default file
i = M_CheckParm ("-config");
if (i && i<myargc-1)
{
doom_defaults.filename = myargv[i+1];
printf (" default file: %s\n",doom_defaults.filename);
}
else
{
doom_defaults.filename = malloc(strlen(configdir) + 20);
sprintf(doom_defaults.filename, "%sdefault.cfg", configdir);
}
// printf("saving config in %s\n", doom_defaults.filename);
i = M_CheckParm("-extraconfig");
if (i && i<myargc-1)
{
extra_defaults.filename = myargv[i+1];
printf(" extra configuration file: %s\n",
extra_defaults.filename);
}
else
{
extra_defaults.filename
= malloc(strlen(configdir) + strlen(PROGRAM_PREFIX) + 15);
sprintf(extra_defaults.filename, "%s%sdoom.cfg",
configdir, PROGRAM_PREFIX);
}
LoadDefaultCollection(&doom_defaults);
LoadDefaultCollection(&extra_defaults);
}
//
// Save normal (default.cfg) defaults to a given file
//
void M_SaveMainDefaults(char *filename)
{
char *main_filename;
// Save the normal filename and set this one
main_filename = doom_defaults.filename;
doom_defaults.filename = filename;
// Save the file
SaveDefaultCollection(&doom_defaults);
// Restore the normal filename
doom_defaults.filename = main_filename;
}
//
// Save extra (chocolate-doom.cfg) defaults to a given file
//
void M_SaveExtraDefaults(char *filename)
{
char *main_filename;
// Save the normal filename and set this one
main_filename = extra_defaults.filename;
extra_defaults.filename = filename;
// Save the file
SaveDefaultCollection(&extra_defaults);
// Restore the normal filename
extra_defaults.filename = main_filename;
}
#ifdef _WIN32_WCE
static int SystemHasKeyboard(void)
{
HKEY key;
DWORD valtype;
DWORD valsize;
DWORD result;
if (RegOpenKeyExW(HKEY_CURRENT_USER,
L"\\Software\\Microsoft\\Shell", 0,
KEY_READ, &key) != ERROR_SUCCESS)
{
return 0;
}
valtype = REG_SZ;
valsize = sizeof(DWORD);
if (RegQueryValueExW(key, L"HasKeyboard", NULL, &valtype,
(LPBYTE) &result, &valsize) != ERROR_SUCCESS)
{
result = 0;
}
// Close the key
RegCloseKey(key);
return result;
}
//
// Apply custom defaults for Windows CE.
//
static void M_ApplyWindowsCEDefaults(void)
{
// If the system doesn't have a keyboard, patch the default
// configuration to use the hardware keys.
if (!SystemHasKeyboard())
{
key_use = KEY_F1;
key_fire = KEY_F2;
key_menu_activate = KEY_F3;
key_map_toggle = KEY_F4;
key_menu_help = 0;
key_menu_save = 0;
key_menu_load = 0;
key_menu_volume = 0;
key_menu_confirm = KEY_ENTER;
key_menu_back = KEY_F2;
key_menu_abort = KEY_F2;
}
}
#endif
//
// Apply custom patches to the default values depending on the
// platform we are running on.
//
void M_ApplyPlatformDefaults(void)
{
#ifdef _WIN32_WCE
M_ApplyWindowsCEDefaults();
#endif
// Before SDL_mixer version 1.2.11, MIDI music caused the game
// to crash when it looped. If this is an old SDL_mixer version,
// disable MIDI.
#ifdef __MACOSX__
{
const SDL_version *v = Mix_Linked_Version();
if (SDL_VERSIONNUM(v->major, v->minor, v->patch)
< SDL_VERSIONNUM(1, 2, 11))
{
snd_musicdevice = SNDDEVICE_NONE;
}
}
#endif
// Windows Vista or later? Set screen color depth to
// 32 bits per pixel, as 8-bit palettized screen modes
// don't work properly in recent versions.
#if defined(_WIN32) && !defined(_WIN32_WCE)
{
OSVERSIONINFOEX version_info;
ZeroMemory(&version_info, sizeof(OSVERSIONINFOEX));
version_info.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
GetVersionEx((OSVERSIONINFO *) &version_info);
if (version_info.dwPlatformId == VER_PLATFORM_WIN32_NT
&& version_info.dwMajorVersion >= 6)
{
screen_bpp = 32;
}
}
#endif
}

View File

@ -0,0 +1,44 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
// Copyright(C) 1993-1996 Id Software, Inc.
// Copyright(C) 2005 Simon Howard
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
// DESCRIPTION:
//
//
//-----------------------------------------------------------------------------
#ifndef __SETUP_CONFIG__
#define __SETUP_CONFIG__
extern char *configdir;
void M_LoadDefaults (void);
void M_SaveDefaults (void);
void M_SetConfigDir(void);
void M_SaveMainDefaults(char *filename);
void M_SaveExtraDefaults(char *filename);
void M_ApplyPlatformDefaults(void);
#endif

View File

@ -0,0 +1,759 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
// Copyright(C) 2006 Simon Howard
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
#include <string.h>
#ifdef _WIN32_WCE
#include "libc_wince.h"
#endif
#include "textscreen.h"
#include "display.h"
extern void RestartTextscreen(void);
typedef struct
{
char *description;
int bpp;
} pixel_depth_t;
// List of supported pixel depths.
static pixel_depth_t pixel_depths[] =
{
{ "8-bit", 8 },
{ "16-bit", 16 },
{ "24-bit", 24 },
{ "32-bit", 32 },
};
// List of strings containing supported pixel depths.
static char **supported_bpps;
static int num_supported_bpps;
typedef struct
{
int w, h;
} screen_mode_t;
// List of aspect ratio-uncorrected modes
static screen_mode_t screen_modes_unscaled[] =
{
{ 320, 200 },
{ 640, 400 },
{ 960, 600 },
{ 1280, 800 },
{ 1600, 1000 },
{ 0, 0},
};
// List of aspect ratio-corrected modes
static screen_mode_t screen_modes_scaled[] =
{
{ 256, 200 },
{ 320, 240 },
{ 512, 400 },
{ 640, 480 },
{ 800, 600 },
{ 960, 720 },
{ 1024, 800 },
{ 1280, 960 },
{ 1280, 1000 },
{ 1600, 1200 },
{ 0, 0},
};
// List of fullscreen modes generated at runtime
static screen_mode_t *screen_modes_fullscreen = NULL;
static int num_screen_modes_fullscreen;
static int vidmode = 0;
char *video_driver = "";
int autoadjust_video_settings = 1;
int aspect_ratio_correct = 1;
int fullscreen = 1;
int screen_width = 320;
int screen_height = 200;
int screen_bpp = 8;
int startup_delay = 1000;
int show_endoom = 1;
// These are the last screen width/height values that were chosen by the
// user. These are used when finding the "nearest" mode, so when
// changing the fullscreen / aspect ratio options, the setting does not
// jump around.
static int selected_screen_width = 0, selected_screen_height;
// Index into the supported_bpps of the selected pixel depth.
static int selected_bpp = 0;
static int system_video_env_set;
// Set the SDL_VIDEODRIVER environment variable
void SetDisplayDriver(void)
{
static int first_time = 1;
if (first_time)
{
system_video_env_set = getenv("SDL_VIDEODRIVER") != NULL;
first_time = 0;
}
// Don't override the command line environment, if it has been set.
if (system_video_env_set)
{
return;
}
// Use the value from the configuration file, if it has been set.
if (strcmp(video_driver, "") != 0)
{
char *env_string;
env_string = malloc(strlen(video_driver) + 30);
sprintf(env_string, "SDL_VIDEODRIVER=%s", video_driver);
putenv(env_string);
free(env_string);
}
else
{
#if defined(_WIN32) && !defined(_WIN32_WCE)
// On Windows, use DirectX over windib by default.
putenv("SDL_VIDEODRIVER=directx");
#endif
}
}
// Query SDL as to whether any fullscreen modes are available for the
// specified pixel depth.
static int PixelDepthSupported(int bpp)
{
SDL_PixelFormat format;
SDL_Rect **modes;
format.BitsPerPixel = bpp;
format.BytesPerPixel = (bpp + 7) / 8;
modes = SDL_ListModes(&format, SDL_FULLSCREEN);
return modes != NULL;
}
// Query SDL and populate the supported_bpps array.
static void IdentifyPixelDepths(void)
{
unsigned int i;
unsigned int num_depths = sizeof(pixel_depths) / sizeof(*pixel_depths);
if (supported_bpps != NULL)
{
free(supported_bpps);
}
supported_bpps = malloc(sizeof(char *) * num_depths);
num_supported_bpps = 0;
// Check each bit depth to determine if modes are available.
for (i = 0; i < num_depths; ++i)
{
// If modes are available, add this bit depth to the list.
if (PixelDepthSupported(pixel_depths[i].bpp))
{
supported_bpps[num_supported_bpps] = pixel_depths[i].description;
++num_supported_bpps;
}
}
// No supported pixel depths? That's kind of a problem. Add 8bpp
// as a fallback.
if (num_supported_bpps == 0)
{
supported_bpps[0] = pixel_depths[0].description;
++num_supported_bpps;
}
}
// Get the screen pixel depth corresponding to what selected_bpp is set to.
static int GetSelectedBPP(void)
{
unsigned int num_depths = sizeof(pixel_depths) / sizeof(*pixel_depths);
unsigned int i;
// Find which pixel depth is selected, and set screen_bpp.
for (i = 0; i < num_depths; ++i)
{
if (pixel_depths[i].description == supported_bpps[selected_bpp])
{
return pixel_depths[i].bpp;
}
}
// Default fallback value.
return 8;
}
// Get the index into supported_bpps of the specified pixel depth string.
static int GetSupportedBPPIndex(char *description)
{
unsigned int i;
for (i = 0; i < num_supported_bpps; ++i)
{
if (supported_bpps[i] == description)
{
return i;
}
}
return -1;
}
// Set selected_bpp to match screen_bpp.
static int TrySetSelectedBPP(void)
{
unsigned int num_depths = sizeof(pixel_depths) / sizeof(*pixel_depths);
unsigned int i;
// Search pixel_depths, find the bpp that corresponds to screen_bpp,
// then set selected_bpp to match.
for (i = 0; i < num_depths; ++i)
{
if (pixel_depths[i].bpp == screen_bpp)
{
selected_bpp = GetSupportedBPPIndex(pixel_depths[i].description);
if (selected_bpp >= 0)
{
return 1;
}
}
}
return 0;
}
static void SetSelectedBPP(void)
{
const SDL_VideoInfo *info;
if (TrySetSelectedBPP())
{
return;
}
// screen_bpp does not match any supported pixel depth. Query SDL
// to find out what it recommends using.
info = SDL_GetVideoInfo();
if (info != NULL && info->vfmt != NULL)
{
screen_bpp = info->vfmt->BitsPerPixel;
}
// Try again.
if (!TrySetSelectedBPP())
{
// Give up and just use the first in the list.
selected_bpp = 0;
screen_bpp = GetSelectedBPP();
}
}
static void ModeSelected(TXT_UNCAST_ARG(widget), TXT_UNCAST_ARG(mode))
{
TXT_CAST_ARG(screen_mode_t, mode);
screen_width = mode->w;
screen_height = mode->h;
// This is now the most recently selected screen width
selected_screen_width = screen_width;
selected_screen_height = screen_height;
}
static int GoodFullscreenMode(screen_mode_t *mode)
{
int w, h;
w = mode->w;
h = mode->h;
// 320x200 and 640x400 are always good (special case)
if ((w == 320 && h == 200) || (w == 640 && h == 400))
{
return 1;
}
// Special case: 320x240 letterboxed mode is okay (but not aspect
// ratio corrected 320x240)
if (w == 320 && h == 240 && !aspect_ratio_correct)
{
return 1;
}
// Ignore all modes less than 640x480
return w >= 640 && h >= 480;
}
// Build screen_modes_fullscreen
static void BuildFullscreenModesList(void)
{
SDL_PixelFormat format;
SDL_Rect **modes;
screen_mode_t *m1;
screen_mode_t *m2;
screen_mode_t m;
int num_modes;
int i;
// Free the existing modes list, if one exists
if (screen_modes_fullscreen != NULL)
{
free(screen_modes_fullscreen);
}
// Get a list of fullscreen modes and find out how many
// modes are in the list.
format.BitsPerPixel = screen_bpp;
format.BytesPerPixel = (screen_bpp + 7) / 8;
modes = SDL_ListModes(&format, SDL_FULLSCREEN);
if (modes == NULL || modes == (SDL_Rect **) -1)
{
num_modes = 0;
}
else
{
for (num_modes=0; modes[num_modes] != NULL; ++num_modes);
}
// Build the screen_modes_fullscreen array
screen_modes_fullscreen = malloc(sizeof(screen_mode_t) * (num_modes + 1));
for (i=0; i<num_modes; ++i)
{
screen_modes_fullscreen[i].w = modes[i]->w;
screen_modes_fullscreen[i].h = modes[i]->h;
}
screen_modes_fullscreen[i].w = 0;
screen_modes_fullscreen[i].h = 0;
// Reverse the order of the modes list (smallest modes first)
for (i=0; i<num_modes / 2; ++i)
{
m1 = &screen_modes_fullscreen[i];
m2 = &screen_modes_fullscreen[num_modes - 1 - i];
memcpy(&m, m1, sizeof(screen_mode_t));
memcpy(m1, m2, sizeof(screen_mode_t));
memcpy(m2, &m, sizeof(screen_mode_t));
}
num_screen_modes_fullscreen = num_modes;
}
static int FindBestMode(screen_mode_t *modes)
{
int i;
int best_mode;
int best_mode_diff;
int diff;
best_mode = -1;
best_mode_diff = 0;
for (i=0; modes[i].w != 0; ++i)
{
if (fullscreen && !GoodFullscreenMode(&modes[i]))
{
continue;
}
diff = (selected_screen_width - modes[i].w)
* (selected_screen_width - modes[i].w)
+ (selected_screen_height - modes[i].h)
* (selected_screen_height - modes[i].h);
if (best_mode == -1 || diff < best_mode_diff)
{
best_mode_diff = diff;
best_mode = i;
}
}
return best_mode;
}
static void GenerateModesTable(TXT_UNCAST_ARG(widget),
TXT_UNCAST_ARG(modes_table))
{
TXT_CAST_ARG(txt_table_t, modes_table);
char buf[15];
screen_mode_t *modes;
txt_radiobutton_t *rbutton;
int i;
// Pick which modes list to use
if (fullscreen)
{
if (screen_modes_fullscreen == NULL)
{
BuildFullscreenModesList();
}
modes = screen_modes_fullscreen;
}
else if (aspect_ratio_correct)
{
modes = screen_modes_scaled;
}
else
{
modes = screen_modes_unscaled;
}
// Build the table
TXT_ClearTable(modes_table);
TXT_SetColumnWidths(modes_table, 14, 14, 14, 14, 14);
for (i=0; modes[i].w != 0; ++i)
{
// Skip bad fullscreen modes
if (fullscreen && !GoodFullscreenMode(&modes[i]))
{
continue;
}
sprintf(buf, "%ix%i", modes[i].w, modes[i].h);
rbutton = TXT_NewRadioButton(buf, &vidmode, i);
TXT_AddWidget(modes_table, rbutton);
TXT_SignalConnect(rbutton, "selected", ModeSelected, &modes[i]);
}
// Find the nearest mode in the list that matches the current
// settings
vidmode = FindBestMode(modes);
if (vidmode > 0)
{
screen_width = modes[vidmode].w;
screen_height = modes[vidmode].h;
}
}
// Callback invoked when the BPP selector is changed.
static void UpdateBPP(TXT_UNCAST_ARG(widget), TXT_UNCAST_ARG(modes_table))
{
TXT_CAST_ARG(txt_table_t, modes_table);
screen_bpp = GetSelectedBPP();
// Rebuild list of fullscreen modes.
BuildFullscreenModesList();
GenerateModesTable(NULL, modes_table);
}
static void UpdateModeSeparator(TXT_UNCAST_ARG(widget),
TXT_UNCAST_ARG(separator))
{
TXT_CAST_ARG(txt_separator_t, separator);
if (fullscreen)
{
TXT_SetSeparatorLabel(separator, "Screen mode");
}
else
{
TXT_SetSeparatorLabel(separator, "Window size");
}
}
#if defined(_WIN32) && !defined(_WIN32_WCE)
static int use_directx = 1;
static void SetWin32VideoDriver(void)
{
if (!strcmp(video_driver, "windib"))
{
use_directx = 0;
}
else
{
use_directx = 1;
}
}
static void UpdateVideoDriver(TXT_UNCAST_ARG(widget),
TXT_UNCAST_ARG(modes_table))
{
TXT_CAST_ARG(txt_table_t, modes_table);
if (use_directx)
{
video_driver = "";
}
else
{
video_driver = "windib";
}
// When the video driver is changed, we need to restart the textscreen
// library.
RestartTextscreen();
// Rebuild the list of supported pixel depths.
IdentifyPixelDepths();
SetSelectedBPP();
// Rebuild the video modes list
BuildFullscreenModesList();
GenerateModesTable(NULL, modes_table);
}
#endif
static void AdvancedDisplayConfig(TXT_UNCAST_ARG(widget),
TXT_UNCAST_ARG(modes_table))
{
TXT_CAST_ARG(txt_table_t, modes_table);
txt_window_t *window;
txt_checkbox_t *ar_checkbox;
window = TXT_NewWindow("Advanced display options");
TXT_SetColumnWidths(window, 35);
TXT_AddWidgets(window,
ar_checkbox = TXT_NewCheckBox("Fix aspect ratio",
&aspect_ratio_correct),
TXT_NewCheckBox("Show ENDOOM screen on exit", &show_endoom),
NULL);
TXT_SignalConnect(ar_checkbox, "changed", GenerateModesTable, modes_table);
// On Windows, there is an extra control to change between
// the Windows GDI and DirectX video drivers.
#if defined(_WIN32) && !defined(_WIN32_WCE)
{
txt_radiobutton_t *dx_button, *gdi_button;
TXT_AddWidgets(window,
TXT_NewSeparator("Windows video driver"),
dx_button = TXT_NewRadioButton("DirectX",
&use_directx, 1),
gdi_button = TXT_NewRadioButton("Windows GDI",
&use_directx, 0),
NULL);
TXT_SignalConnect(dx_button, "selected",
UpdateVideoDriver, modes_table);
TXT_SignalConnect(gdi_button, "selected",
UpdateVideoDriver, modes_table);
SetWin32VideoDriver();
}
#endif
}
void ConfigDisplay(void)
{
txt_window_t *window;
txt_table_t *modes_table;
txt_separator_t *modes_separator;
txt_table_t *bpp_table;
txt_window_action_t *advanced_button;
txt_checkbox_t *fs_checkbox;
int i;
int num_columns;
int num_rows;
int window_y;
// What color depths are supported? Generate supported_bpps array
// and set selected_bpp to match the current value of screen_bpp.
IdentifyPixelDepths();
SetSelectedBPP();
// First time in? Initialise selected_screen_{width,height}
if (selected_screen_width == 0)
{
selected_screen_width = screen_width;
selected_screen_height = screen_height;
}
// Open the window
window = TXT_NewWindow("Display Configuration");
// Some machines can have lots of video modes. This tries to
// keep a limit of six lines by increasing the number of
// columns. In extreme cases, the window is moved up slightly.
BuildFullscreenModesList();
if (num_screen_modes_fullscreen <= 24)
{
num_columns = 3;
}
else if (num_screen_modes_fullscreen <= 40)
{
num_columns = 4;
}
else
{
num_columns = 5;
}
modes_table = TXT_NewTable(num_columns);
// Build window:
TXT_AddWidget(window,
fs_checkbox = TXT_NewCheckBox("Full screen", &fullscreen));
if (num_supported_bpps > 1)
{
TXT_AddWidgets(window,
TXT_NewSeparator("Color depth"),
bpp_table = TXT_NewTable(4),
NULL);
for (i = 0; i < num_supported_bpps; ++i)
{
txt_radiobutton_t *button;
button = TXT_NewRadioButton(supported_bpps[i],
&selected_bpp, i);
TXT_AddWidget(bpp_table, button);
TXT_SignalConnect(button, "selected", UpdateBPP, modes_table);
}
}
TXT_AddWidgets(window,
modes_separator = TXT_NewSeparator(""),
modes_table,
NULL);
TXT_SignalConnect(fs_checkbox, "changed",
GenerateModesTable, modes_table);
TXT_SignalConnect(fs_checkbox, "changed",
UpdateModeSeparator, modes_separator);
// How many rows high will the configuration window be?
// Need to take into account number of fullscreen modes, and also
// number of supported pixel depths.
// The windowed modes list is four rows, so take the maximum of
// windowed and fullscreen.
num_rows = (num_screen_modes_fullscreen + num_columns - 1) / num_columns;
if (num_rows < 4)
{
num_rows = 4;
}
if (num_supported_bpps > 1)
{
num_rows += 2;
}
if (num_rows < 14)
{
window_y = 8 - ((num_rows + 1) / 2);
}
else
{
window_y = 1;
}
// The window is set at a fixed vertical position. This keeps
// the top of the window stationary when switching between
// fullscreen and windowed mode (which causes the window's
// height to change).
TXT_SetWindowPosition(window, TXT_HORIZ_CENTER, TXT_VERT_TOP,
TXT_SCREEN_W / 2, window_y);
GenerateModesTable(NULL, modes_table);
UpdateModeSeparator(NULL, modes_separator);
// Button to open "advanced" window.
// Need to pass a pointer to the modes table, as some of the options
// in there trigger a rebuild of it.
advanced_button = TXT_NewWindowAction('a', "Advanced");
TXT_SetWindowAction(window, TXT_HORIZ_CENTER, advanced_button);
TXT_SignalConnect(advanced_button, "pressed",
AdvancedDisplayConfig, modes_table);
}

View File

@ -0,0 +1,38 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
// Copyright(C) 2006 Simon Howard
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
#ifndef SETUP_DISPLAY_H
#define SETUP_DISPLAY_H
extern int autoadjust_video_settings;
extern int aspect_ratio_correct;
extern int fullscreen;
extern int screen_width, screen_height;
extern int screen_bpp;
extern int startup_delay;
extern int show_endoom;
extern char *video_driver;
void ConfigDisplay(void);
void SetDisplayDriver(void);
#endif /* #ifndef SETUP_DISPLAY_H */

View File

@ -0,0 +1,454 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
// Copyright(C) 2006 Simon Howard
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
// Code for invoking Doom
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#if defined(_WIN32_WCE)
#include "libc_wince.h"
#endif
#ifdef _WIN32
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <process.h>
#else
#include <sys/wait.h>
#include <unistd.h>
#endif
#include "textscreen.h"
#include "config.h"
#include "configfile.h"
#include "execute.h"
#include "m_argv.h"
#ifdef _WIN32
#define DOOM_BINARY PACKAGE_TARNAME ".exe"
#else
#define DOOM_BINARY PACKAGE_TARNAME
#endif
#ifdef _WIN32
#define DIR_SEPARATOR '\\'
#define PATH_SEPARATOR ';'
#else
#define DIR_SEPARATOR '/'
#define PATH_SEPARATOR ':'
#endif
struct execute_context_s
{
char *response_file;
FILE *stream;
};
// Returns the path to a temporary file of the given name, stored
// inside the system temporary directory.
static char *TempFile(char *s)
{
char *result;
char *tempdir;
#ifdef _WIN32
// Check the TEMP environment variable to find the location.
tempdir = getenv("TEMP");
if (tempdir == NULL)
{
tempdir = ".";
}
#else
// In Unix, just use /tmp.
tempdir = "/tmp";
#endif
result = malloc(strlen(tempdir) + strlen(s) + 2);
sprintf(result, "%s%c%s", tempdir, DIR_SEPARATOR, s);
return result;
}
static int ArgumentNeedsEscape(char *arg)
{
char *p;
for (p = arg; *p != '\0'; ++p)
{
if (isspace(*p))
{
return 1;
}
}
return 0;
}
// Arguments passed to the setup tool should be passed through to the
// game when launching a game. Calling this adds all arguments from
// myargv to the output context.
void PassThroughArguments(execute_context_t *context)
{
int i;
for (i = 1; i < myargc; ++i)
{
if (ArgumentNeedsEscape(myargv[i]))
{
AddCmdLineParameter(context, "\"%s\"", myargv[i]);
}
else
{
AddCmdLineParameter(context, "%s", myargv[i]);
}
}
}
execute_context_t *NewExecuteContext(void)
{
execute_context_t *result;
result = malloc(sizeof(execute_context_t));
result->response_file = TempFile("chocolat.rsp");
result->stream = fopen(result->response_file, "w");
if (result->stream == NULL)
{
fprintf(stderr, "Error opening response file\n");
exit(-1);
}
return result;
}
void AddCmdLineParameter(execute_context_t *context, char *s, ...)
{
va_list args;
va_start(args, s);
vfprintf(context->stream, s, args);
fprintf(context->stream, "\n");
}
#if defined(_WIN32)
// Wait for the specified process to exit. Returns the exit code.
static unsigned int WaitForProcessExit(HANDLE subprocess)
{
DWORD exit_code;
for (;;)
{
WaitForSingleObject(subprocess, INFINITE);
if (!GetExitCodeProcess(subprocess, &exit_code))
{
return -1;
}
if (exit_code != STILL_ACTIVE)
{
return exit_code;
}
}
}
static void ConcatWCString(wchar_t *buf, const char *value)
{
MultiByteToWideChar(CP_OEMCP, 0,
value, strlen(value) + 1,
buf + wcslen(buf), strlen(value) + 1);
}
// Build the command line string, a wide character string of the form:
//
// "program" "arg"
static wchar_t *BuildCommandLine(const char *program, const char *arg)
{
wchar_t exe_path[MAX_PATH];
wchar_t *result;
wchar_t *sep;
// Get the path to this .exe file.
GetModuleFileNameW(NULL, exe_path, MAX_PATH);
// Allocate buffer to contain result string.
result = calloc(wcslen(exe_path) + strlen(program) + strlen(arg) + 6,
sizeof(wchar_t));
wcscpy(result, L"\"");
// Copy the path part of the filename (including ending \)
// into the result buffer:
sep = wcsrchr(exe_path, DIR_SEPARATOR);
if (sep != NULL)
{
wcsncpy(result + 1, exe_path, sep - exe_path + 1);
result[sep - exe_path + 2] = '\0';
}
// Concatenate the name of the program:
ConcatWCString(result, program);
// End of program name, start of argument:
wcscat(result, L"\" \"");
ConcatWCString(result, arg);
wcscat(result, L"\"");
return result;
}
static int ExecuteCommand(const char *program, const char *arg)
{
STARTUPINFOW startup_info;
PROCESS_INFORMATION proc_info;
wchar_t *command;
int result = 0;
command = BuildCommandLine(program, arg);
// Invoke the program:
memset(&proc_info, 0, sizeof(proc_info));
memset(&startup_info, 0, sizeof(startup_info));
startup_info.cb = sizeof(startup_info);
if (!CreateProcessW(NULL, command,
NULL, NULL, FALSE, 0, NULL, NULL,
&startup_info, &proc_info))
{
result = -1;
}
else
{
// Wait for the process to finish, and save the exit code.
result = WaitForProcessExit(proc_info.hProcess);
CloseHandle(proc_info.hProcess);
CloseHandle(proc_info.hThread);
}
free(command);
return result;
}
#else
// Given the specified program name, get the full path to the program,
// assuming that it is in the same directory as this program is.
static char *GetFullExePath(const char *program)
{
char *result;
char *sep;
unsigned int path_len;
sep = strrchr(myargv[0], DIR_SEPARATOR);
if (sep == NULL)
{
result = strdup(program);
}
else
{
path_len = sep - myargv[0] + 1;
result = malloc(strlen(program) + path_len + 1);
strncpy(result, myargv[0], path_len);
result[path_len] = '\0';
strcat(result, program);
}
return result;
}
static int ExecuteCommand(const char *program, const char *arg)
{
pid_t childpid;
int result;
const char *argv[3];
childpid = fork();
if (childpid == 0)
{
// This is the child. Execute the command.
argv[0] = GetFullExePath(program);
argv[1] = arg;
argv[2] = NULL;
execvp(argv[0], (char **) argv);
exit(0x80);
}
else
{
// This is the parent. Wait for the child to finish, and return
// the status code.
waitpid(childpid, &result, 0);
if (WIFEXITED(result) && WEXITSTATUS(result) != 0x80)
{
return WEXITSTATUS(result);
}
else
{
return -1;
}
}
}
#endif
int ExecuteDoom(execute_context_t *context)
{
char *response_file_arg;
int result;
fclose(context->stream);
// Build the command line
response_file_arg = malloc(strlen(context->response_file) + 2);
sprintf(response_file_arg, "@%s", context->response_file);
// Run Doom
result = ExecuteCommand(DOOM_BINARY, response_file_arg);
free(response_file_arg);
// Destroy context
remove(context->response_file);
free(context->response_file);
free(context);
return result;
}
static void TestCallback(TXT_UNCAST_ARG(widget), TXT_UNCAST_ARG(data))
{
execute_context_t *exec;
char *main_cfg;
char *extra_cfg;
txt_window_t *testwindow;
txt_label_t *label;
testwindow = TXT_NewWindow("Starting Doom");
label = TXT_NewLabel("Starting Doom to test the\n"
"settings. Please wait.");
TXT_SetWidgetAlign(label, TXT_HORIZ_CENTER);
TXT_AddWidget(testwindow, label);
TXT_DrawDesktop();
// Save temporary configuration files with the current configuration
main_cfg = TempFile("tmp.cfg");
extra_cfg = TempFile("extratmp.cfg");
M_SaveMainDefaults(main_cfg);
M_SaveExtraDefaults(extra_cfg);
// Run with the -testcontrols parameter
exec = NewExecuteContext();
AddCmdLineParameter(exec, "-testcontrols");
AddCmdLineParameter(exec, "-config \"%s\"", main_cfg);
AddCmdLineParameter(exec, "-extraconfig \"%s\"", extra_cfg);
ExecuteDoom(exec);
TXT_CloseWindow(testwindow);
// Delete the temporary config files
remove(main_cfg);
remove(extra_cfg);
free(main_cfg);
free(extra_cfg);
}
txt_window_action_t *TestConfigAction(void)
{
txt_window_action_t *test_action;
test_action = TXT_NewWindowAction('t', "Test");
TXT_SignalConnect(test_action, "pressed", TestCallback, NULL);
return test_action;
}
// Invokes Doom to find which IWADs are installed.
// This is a cheap hack to avoid duplication of the complicated install
// path searching code inside Doom.
int FindInstalledIWADs(void)
{
execute_context_t *context;
int result;
context = NewExecuteContext();
AddCmdLineParameter(context, "-findiwads");
result = ExecuteDoom(context);
if (result < 0)
{
return 0;
}
else
{
return result;
}
}

View File

@ -0,0 +1,45 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
// Copyright(C) 2006 Simon Howard
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
#ifndef TESTCONFIG_H
#define TESTCONFIG_H
#include "textscreen.h"
typedef struct execute_context_s execute_context_t;
#define IWAD_DOOM2 (1 << 0) /* doom2.wad */
#define IWAD_PLUTONIA (1 << 1) /* plutonia.wad */
#define IWAD_TNT (1 << 2) /* tnt.wad */
#define IWAD_DOOM (1 << 3) /* doom.wad */
#define IWAD_DOOM1 (1 << 4) /* doom1.wad */
#define IWAD_CHEX (1 << 5) /* chex.wad */
execute_context_t *NewExecuteContext(void);
void AddCmdLineParameter(execute_context_t *context, char *s, ...);
void PassThroughArguments(execute_context_t *context);
int ExecuteDoom(execute_context_t *context);
int FindInstalledIWADs(void);
txt_window_action_t *TestConfigAction(void);
#endif /* #ifndef TESTCONFIG_H */

View File

@ -0,0 +1,446 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
// Copyright(C) 2007 Simon Howard
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
#include <stdlib.h>
#include "doomtype.h"
#include "textscreen.h"
#include "txt_joybinput.h"
#include "execute.h"
#include "joystick.h"
typedef enum
{
CALIBRATE_CENTER,
CALIBRATE_LEFT,
CALIBRATE_UP,
} calibration_stage_t;
// SDL joystick successfully initialized?
static int joystick_initted = 0;
// Joystick enable/disable
int usejoystick = 0;
// Button mappings
int joybfire = 0;
int joybstrafe = 1;
int joybuse = 3;
int joybspeed = 2;
int joybstrafeleft = -1;
int joybstraferight = -1;
int joybprevweapon = -1;
int joybnextweapon = -1;
// Joystick to use, as an SDL joystick index:
int joystick_index = -1;
// Which joystick axis to use for horizontal movement, and whether to
// invert the direction:
int joystick_x_axis = 0;
int joystick_x_invert = 0;
// Which joystick axis to use for vertical movement, and whether to
// invert the direction:
int joystick_y_axis = 1;
int joystick_y_invert = 0;
static txt_button_t *joystick_button;
static int *all_joystick_buttons[] = {
&joybstraferight, &joybstrafeleft, &joybfire, &joybspeed,
&joybuse, &joybstrafe, &joybprevweapon, &joybnextweapon
};
//
// Calibration
//
static txt_window_t *calibration_window;
static txt_label_t *calibration_label;
static calibration_stage_t calibrate_stage;
static SDL_Joystick **all_joysticks = NULL;
// Set the label showing the name of the currently selected joystick
static void SetJoystickButtonLabel(void)
{
char *name;
name = "None set";
if (joystick_initted
&& joystick_index >= 0 && joystick_index < SDL_NumJoysticks())
{
name = (char *) SDL_JoystickName(joystick_index);
}
TXT_SetButtonLabel(joystick_button, name);
}
// Try to open all joysticks visible to SDL.
static int OpenAllJoysticks(void)
{
int i;
int num_joysticks;
int result;
if (!joystick_initted)
{
return 0;
}
// SDL_JoystickOpen() all joysticks.
num_joysticks = SDL_NumJoysticks();
all_joysticks = malloc(sizeof(SDL_Joystick *) * num_joysticks);
result = 0;
for (i=0; i<num_joysticks; ++i)
{
all_joysticks[i] = SDL_JoystickOpen(i);
// If any joystick is successfully opened, return true.
if (all_joysticks[i] != NULL)
{
result = 1;
}
}
// Success? Turn on joystick events.
if (result)
{
SDL_JoystickEventState(SDL_ENABLE);
}
else
{
free(all_joysticks);
all_joysticks = NULL;
}
return result;
}
// Close all the joysticks opened with OpenAllJoysticks()
static void CloseAllJoysticks(void)
{
int i;
int num_joysticks;
num_joysticks = SDL_NumJoysticks();
for (i=0; i<num_joysticks; ++i)
{
if (all_joysticks[i] != NULL)
{
SDL_JoystickClose(all_joysticks[i]);
}
}
SDL_JoystickEventState(SDL_DISABLE);
free(all_joysticks);
all_joysticks = NULL;
}
static void SetCalibrationLabel(void)
{
char *message = "???";
switch (calibrate_stage)
{
case CALIBRATE_CENTER:
message = "Move the joystick to the\n"
"center, and press a button.";
break;
case CALIBRATE_UP:
message = "Move the joystick up,\n"
"and press a button.";
break;
case CALIBRATE_LEFT:
message = "Move the joystick to the\n"
"left, and press a button.";
break;
}
TXT_SetLabel(calibration_label, message);
}
static void CalibrateAxis(int *axis_index, int *axis_invert)
{
SDL_Joystick *joystick;
int best_axis;
int best_value;
int best_invert;
Sint16 axis_value;
int i;
joystick = all_joysticks[joystick_index];
// Check all axes to find which axis has the largest value. We test
// for one axis at a time, so eg. when we prompt to push the joystick
// left, whichever axis has the largest value is the left axis.
best_axis = 0;
best_value = 0;
best_invert = 0;
for (i=0; i<SDL_JoystickNumAxes(joystick); ++i)
{
axis_value = SDL_JoystickGetAxis(joystick, i);
if (abs(axis_value) > best_value)
{
best_value = abs(axis_value);
best_invert = axis_value > 0;
best_axis = i;
}
}
// Save the best values we have found
*axis_index = best_axis;
*axis_invert = best_invert;
}
static int CalibrationEventCallback(SDL_Event *event, void *user_data)
{
if (event->type == SDL_JOYBUTTONDOWN
&& (joystick_index == -1 || event->jbutton.which == joystick_index))
{
switch (calibrate_stage)
{
case CALIBRATE_CENTER:
// Centering stage selects which joystick to use.
joystick_index = event->jbutton.which;
break;
case CALIBRATE_LEFT:
CalibrateAxis(&joystick_x_axis, &joystick_x_invert);
break;
case CALIBRATE_UP:
CalibrateAxis(&joystick_y_axis, &joystick_y_invert);
break;
}
if (calibrate_stage == CALIBRATE_UP)
{
// Final stage; close the window
TXT_CloseWindow(calibration_window);
}
else
{
// Advance to the next calibration stage
++calibrate_stage;
SetCalibrationLabel();
}
return 1;
}
return 0;
}
static void NoJoystick(void)
{
txt_window_t *window;
window = TXT_NewWindow(NULL);
TXT_AddWidget(window,
TXT_NewLabel("No joysticks could be opened.\n\n"
"Try configuring your joystick from within\n"
"your OS first."));
TXT_SetWindowAction(window, TXT_HORIZ_LEFT, NULL);
TXT_SetWindowAction(window, TXT_HORIZ_CENTER,
TXT_NewWindowEscapeAction(window));
TXT_SetWindowAction(window, TXT_HORIZ_RIGHT, NULL);
joystick_index = -1;
SetJoystickButtonLabel();
}
static void CalibrateWindowClosed(TXT_UNCAST_ARG(widget), TXT_UNCAST_ARG(unused))
{
CloseAllJoysticks();
TXT_SDL_SetEventCallback(NULL, NULL);
SetJoystickButtonLabel();
}
static void CalibrateJoystick(TXT_UNCAST_ARG(widget), TXT_UNCAST_ARG(unused))
{
calibrate_stage = CALIBRATE_CENTER;
// Try to open all available joysticks. If none are opened successfully,
// bomb out with an error.
if (!OpenAllJoysticks())
{
NoJoystick();
return;
}
calibration_window = TXT_NewWindow("Joystick calibration");
TXT_AddWidgets(calibration_window,
TXT_NewLabel("Please follow the following instructions\n"
"in order to calibrate your joystick."),
TXT_NewStrut(0, 1),
calibration_label = TXT_NewLabel("zzz"),
TXT_NewStrut(0, 1),
NULL);
TXT_SetWindowAction(calibration_window, TXT_HORIZ_LEFT, NULL);
TXT_SetWindowAction(calibration_window, TXT_HORIZ_CENTER,
TXT_NewWindowAbortAction(calibration_window));
TXT_SetWindowAction(calibration_window, TXT_HORIZ_RIGHT, NULL);
TXT_SetWidgetAlign(calibration_label, TXT_HORIZ_CENTER);
TXT_SDL_SetEventCallback(CalibrationEventCallback, NULL);
TXT_SignalConnect(calibration_window, "closed", CalibrateWindowClosed, NULL);
// Start calibration
joystick_index = -1;
calibrate_stage = CALIBRATE_CENTER;
SetCalibrationLabel();
}
void JoyButtonSetCallback(TXT_UNCAST_ARG(widget), TXT_UNCAST_ARG(variable))
{
TXT_CAST_ARG(int, variable);
unsigned int i;
// Only allow a button to be bound to one action at a time. If
// we assign a key that another action is using, set that other action
// to -1.
for (i=0; i<arrlen(all_joystick_buttons); ++i)
{
if (variable != all_joystick_buttons[i]
&& *variable == *all_joystick_buttons[i])
{
*all_joystick_buttons[i] = -1;
}
}
}
//
// GUI
//
static void JoystickWindowClosed(TXT_UNCAST_ARG(window), TXT_UNCAST_ARG(unused))
{
if (joystick_initted)
{
SDL_QuitSubSystem(SDL_INIT_JOYSTICK);
joystick_initted = 0;
}
}
static void AddJoystickControl(txt_table_t *table, char *label, int *var)
{
txt_joystick_input_t *joy_input;
joy_input = TXT_NewJoystickInput(var);
TXT_AddWidget(table, TXT_NewLabel(label));
TXT_AddWidget(table, joy_input);
TXT_SignalConnect(joy_input, "set", JoyButtonSetCallback, var);
}
void ConfigJoystick(void)
{
txt_window_t *window;
txt_table_t *button_table;
txt_table_t *joystick_table;
if (!joystick_initted)
{
joystick_initted = SDL_Init(SDL_INIT_JOYSTICK) >= 0;
}
window = TXT_NewWindow("Joystick configuration");
TXT_AddWidgets(window,
TXT_NewCheckBox("Enable joystick", &usejoystick),
joystick_table = TXT_NewTable(2),
TXT_NewSeparator("Joystick buttons"),
button_table = TXT_NewTable(2),
NULL);
TXT_SetColumnWidths(joystick_table, 20, 15);
TXT_AddWidgets(joystick_table,
TXT_NewLabel("Current joystick"),
joystick_button = TXT_NewButton("zzzz"),
NULL);
TXT_SetColumnWidths(button_table, 20, 15);
AddJoystickControl(button_table, "Fire", &joybfire);
AddJoystickControl(button_table, "Use", &joybuse);
// High values of joybspeed are used to activate the "always run mode"
// trick in Vanilla Doom. If this has been enabled, not only is the
// joybspeed value meaningless, but the control itself is useless.
if (joybspeed < 20)
{
AddJoystickControl(button_table, "Speed", &joybspeed);
}
AddJoystickControl(button_table, "Strafe", &joybstrafe);
AddJoystickControl(button_table, "Strafe Left", &joybstrafeleft);
AddJoystickControl(button_table, "Strafe Right", &joybstraferight);
AddJoystickControl(button_table, "Previous weapon", &joybprevweapon);
AddJoystickControl(button_table, "Next weapon", &joybnextweapon);
TXT_SignalConnect(joystick_button, "pressed", CalibrateJoystick, NULL);
TXT_SignalConnect(window, "closed", JoystickWindowClosed, NULL);
TXT_SetWindowAction(window, TXT_HORIZ_CENTER, TestConfigAction());
SetJoystickButtonLabel();
}

View File

@ -0,0 +1,44 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
// Copyright(C) 2006 Simon Howard
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
#ifndef SETUP_JOYSTICK_H
#define SETUP_JOYSTICK_H
extern int usejoystick;
extern int joybfire;
extern int joybstrafe;
extern int joybuse;
extern int joybspeed;
extern int joybstrafeleft;
extern int joybstraferight;
extern int joybprevweapon;
extern int joybnextweapon;
extern int joystick_index;
extern int joystick_x_axis;
extern int joystick_x_invert;
extern int joystick_y_axis;
extern int joystick_y_invert;
void ConfigJoystick(void);
#endif /* #ifndef SETUP_JOYSTICK_H */

View File

@ -0,0 +1,374 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
// Copyright(C) 2006 Simon Howard
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
#include "textscreen.h"
#include "doomtype.h"
#include "execute.h"
#include "txt_keyinput.h"
#include "joystick.h"
#include "keyboard.h"
int key_left = KEY_LEFTARROW;
int key_right = KEY_RIGHTARROW;
int key_up = KEY_UPARROW;
int key_down = KEY_DOWNARROW;
int key_strafeleft = ',';
int key_straferight = '.';
int key_fire = KEY_RCTRL;
int key_use = ' ';
int key_strafe = KEY_RALT;
int key_speed = KEY_RSHIFT;
int key_pause = KEY_PAUSE;
// Menu keys:
int key_menu_activate = KEY_ESCAPE;
int key_menu_up = KEY_UPARROW;
int key_menu_down = KEY_DOWNARROW;
int key_menu_left = KEY_LEFTARROW;
int key_menu_right = KEY_RIGHTARROW;
int key_menu_back = KEY_BACKSPACE;
int key_menu_forward = KEY_ENTER;
int key_menu_confirm = 'y';
int key_menu_abort = 'n';
int key_menu_help = KEY_F1;
int key_menu_save = KEY_F2;
int key_menu_load = KEY_F3;
int key_menu_volume = KEY_F4;
int key_menu_detail = KEY_F5;
int key_menu_qsave = KEY_F6;
int key_menu_endgame = KEY_F7;
int key_menu_messages = KEY_F8;
int key_menu_qload = KEY_F9;
int key_menu_quit = KEY_F10;
int key_menu_gamma = KEY_F11;
int key_spy = KEY_F12;
int key_menu_incscreen = KEY_EQUALS;
int key_menu_decscreen = KEY_MINUS;
int key_map_north = KEY_UPARROW;
int key_map_south = KEY_DOWNARROW;
int key_map_east = KEY_RIGHTARROW;
int key_map_west = KEY_LEFTARROW;
int key_map_zoomin = '=';
int key_map_zoomout = '-';
int key_map_toggle = KEY_TAB;
int key_map_maxzoom = '0';
int key_map_follow = 'f';
int key_map_grid = 'g';
int key_map_mark = 'm';
int key_map_clearmark = 'c';
int key_weapon1 = '1';
int key_weapon2 = '2';
int key_weapon3 = '3';
int key_weapon4 = '4';
int key_weapon5 = '5';
int key_weapon6 = '6';
int key_weapon7 = '7';
int key_weapon8 = '8';
int key_prevweapon = 0;
int key_nextweapon = 0;
int key_message_refresh = KEY_ENTER;
int key_demo_quit = 'q';
int key_multi_msg = 't';
int key_multi_msgplayer[] = { 'g', 'i', 'b', 'r' };
int vanilla_keyboard_mapping = 1;
static int always_run = 0;
// Keys within these groups cannot have the same value.
static int *controls[] = { &key_left, &key_right, &key_up, &key_down,
&key_strafeleft, &key_straferight, &key_fire,
&key_use, &key_strafe, &key_speed,
&key_pause,
&key_weapon1, &key_weapon2, &key_weapon3,
&key_weapon4, &key_weapon5, &key_weapon6,
&key_weapon7, &key_weapon8,
&key_prevweapon, &key_nextweapon, NULL };
static int *menu_nav[] = { &key_menu_activate, &key_menu_up, &key_menu_down,
&key_menu_left, &key_menu_right, &key_menu_back,
&key_menu_forward, NULL };
static int *shortcuts[] = { &key_menu_help, &key_menu_save, &key_menu_load,
&key_menu_volume, &key_menu_detail, &key_menu_qsave,
&key_menu_endgame, &key_menu_messages, &key_spy,
&key_menu_qload, &key_menu_quit, &key_menu_gamma,
&key_menu_incscreen, &key_menu_decscreen,
&key_message_refresh, &key_multi_msg,
&key_multi_msgplayer[0], &key_multi_msgplayer[1],
&key_multi_msgplayer[2], &key_multi_msgplayer[3] };
static int *map_keys[] = { &key_map_north, &key_map_south, &key_map_east,
&key_map_west, &key_map_zoomin, &key_map_zoomout,
&key_map_toggle, &key_map_maxzoom, &key_map_follow,
&key_map_grid, &key_map_mark, &key_map_clearmark,
NULL };
static void UpdateJoybSpeed(TXT_UNCAST_ARG(widget), TXT_UNCAST_ARG(var))
{
if (always_run)
{
/*
<Janizdreg> if you want to pick one for chocolate doom to use,
pick 29, since that is the most universal one that
also works with heretic, hexen and strife =P
NB. This choice also works with original, ultimate and final exes.
*/
joybspeed = 29;
}
else
{
joybspeed = 0;
}
}
static int VarInGroup(int *variable, int **group)
{
unsigned int i;
for (i=0; group[i] != NULL; ++i)
{
if (group[i] == variable)
{
return 1;
}
}
return 0;
}
static void CheckKeyGroup(int *variable, int **group)
{
unsigned int i;
// Don't check unless the variable is in this group.
if (!VarInGroup(variable, group))
{
return;
}
// If another variable has the same value as the new value, reset it.
for (i=0; group[i] != NULL; ++i)
{
if (*variable == *group[i] && group[i] != variable)
{
// A different key has the same value. Clear the existing
// value. This ensures that no two keys can have the same
// value.
*group[i] = 0;
}
}
}
// Callback invoked when a key control is set
static void KeySetCallback(TXT_UNCAST_ARG(widget), TXT_UNCAST_ARG(variable))
{
TXT_CAST_ARG(int, variable);
CheckKeyGroup(variable, controls);
CheckKeyGroup(variable, menu_nav);
CheckKeyGroup(variable, shortcuts);
CheckKeyGroup(variable, map_keys);
}
// Add a label and keyboard input to the specified table.
static void AddKeyControl(txt_table_t *table, char *name, int *var)
{
txt_key_input_t *key_input;
TXT_AddWidget(table, TXT_NewLabel(name));
key_input = TXT_NewKeyInput(var);
TXT_AddWidget(table, key_input);
TXT_SignalConnect(key_input, "set", KeySetCallback, var);
}
static void OtherKeysDialog(TXT_UNCAST_ARG(widget), TXT_UNCAST_ARG(unused))
{
txt_window_t *window;
txt_table_t *table;
txt_scrollpane_t *scrollpane;
window = TXT_NewWindow("Other keys");
table = TXT_NewTable(2);
TXT_SetColumnWidths(table, 25, 10);
TXT_AddWidgets(table, TXT_NewLabel(" - Weapons - "),
TXT_NewStrut(0, 0),
NULL);
AddKeyControl(table, "Weapon 1", &key_weapon1);
AddKeyControl(table, "Weapon 2", &key_weapon2);
AddKeyControl(table, "Weapon 3", &key_weapon3);
AddKeyControl(table, "Weapon 4", &key_weapon4);
AddKeyControl(table, "Weapon 5", &key_weapon5);
AddKeyControl(table, "Weapon 6", &key_weapon6);
AddKeyControl(table, "Weapon 7", &key_weapon7);
AddKeyControl(table, "Weapon 8", &key_weapon8);
AddKeyControl(table, "Previous weapon", &key_prevweapon);
AddKeyControl(table, "Next weapon", &key_nextweapon);
TXT_AddWidgets(table, TXT_NewStrut(0, 1),
TXT_NewStrut(0, 1),
TXT_NewLabel(" - Menu navigation - "),
TXT_NewStrut(0, 0),
NULL);
AddKeyControl(table, "Activate menu", &key_menu_activate);
AddKeyControl(table, "Move cursor up", &key_menu_up);
AddKeyControl(table, "Move cursor down", &key_menu_down);
AddKeyControl(table, "Move slider left", &key_menu_left);
AddKeyControl(table, "Move slider right", &key_menu_right);
AddKeyControl(table, "Go to previous menu", &key_menu_back);
AddKeyControl(table, "Activate menu item", &key_menu_forward);
AddKeyControl(table, "Confirm action", &key_menu_confirm);
AddKeyControl(table, "Cancel action", &key_menu_abort);
TXT_AddWidgets(table, TXT_NewStrut(0, 1),
TXT_NewStrut(0, 1),
TXT_NewLabel(" - Shortcut keys - "),
TXT_NewStrut(0, 0),
NULL);
AddKeyControl(table, "Pause game", &key_pause);
AddKeyControl(table, "Help screen", &key_menu_help);
AddKeyControl(table, "Save game", &key_menu_save);
AddKeyControl(table, "Load game", &key_menu_load);
AddKeyControl(table, "Sound volume", &key_menu_volume);
AddKeyControl(table, "Toggle detail", &key_menu_detail);
AddKeyControl(table, "Quick save", &key_menu_qsave);
AddKeyControl(table, "End game", &key_menu_endgame);
AddKeyControl(table, "Toggle messages", &key_menu_messages);
AddKeyControl(table, "Quick load", &key_menu_qload);
AddKeyControl(table, "Quit game", &key_menu_quit);
AddKeyControl(table, "Toggle gamma", &key_menu_gamma);
AddKeyControl(table, "Multiplayer spy", &key_spy);
AddKeyControl(table, "Increase screen size", &key_menu_incscreen);
AddKeyControl(table, "Decrease screen size", &key_menu_decscreen);
AddKeyControl(table, "Display last message", &key_message_refresh);
AddKeyControl(table, "Finish recording demo", &key_demo_quit);
TXT_AddWidgets(table, TXT_NewStrut(0, 1),
TXT_NewStrut(0, 1),
TXT_NewLabel(" - Multiplayer - "),
TXT_NewStrut(0, 0),
NULL);
AddKeyControl(table, "Send message", &key_multi_msg);
AddKeyControl(table, "- to green", &key_multi_msgplayer[0]);
AddKeyControl(table, "- to indigo", &key_multi_msgplayer[1]);
AddKeyControl(table, "- to brown", &key_multi_msgplayer[2]);
AddKeyControl(table, "- to red", &key_multi_msgplayer[3]);
TXT_AddWidgets(table, TXT_NewStrut(0, 1),
TXT_NewStrut(0, 1),
TXT_NewLabel(" - Map - "),
TXT_NewStrut(0, 0),
NULL);
AddKeyControl(table, "Toggle map", &key_map_toggle);
AddKeyControl(table, "Zoom in", &key_map_zoomin);
AddKeyControl(table, "Zoom out", &key_map_zoomout);
AddKeyControl(table, "Maximum zoom out", &key_map_maxzoom);
AddKeyControl(table, "Follow mode", &key_map_follow);
AddKeyControl(table, "Pan north", &key_map_north);
AddKeyControl(table, "Pan south", &key_map_south);
AddKeyControl(table, "Pan east", &key_map_east);
AddKeyControl(table, "Pan west", &key_map_west);
AddKeyControl(table, "Toggle grid", &key_map_grid);
AddKeyControl(table, "Mark location", &key_map_mark);
AddKeyControl(table, "Clear all marks", &key_map_clearmark);
scrollpane = TXT_NewScrollPane(0, 12, table);
TXT_AddWidget(window, scrollpane);
}
void ConfigKeyboard(void)
{
txt_window_t *window;
txt_table_t *movement_table;
txt_table_t *action_table;
txt_checkbox_t *run_control;
always_run = joybspeed >= 20;
window = TXT_NewWindow("Keyboard configuration");
TXT_AddWidgets(window,
TXT_NewSeparator("Movement"),
movement_table = TXT_NewTable(4),
TXT_NewSeparator("Action"),
action_table = TXT_NewTable(4),
TXT_NewButton2("Other keys...", OtherKeysDialog, NULL),
NULL);
TXT_AddWidgets(window,
TXT_NewSeparator("Misc."),
run_control = TXT_NewCheckBox("Always run", &always_run),
TXT_NewInvertedCheckBox("Use native keyboard mapping",
&vanilla_keyboard_mapping),
NULL);
TXT_SetColumnWidths(movement_table, 15, 4, 15, 4);
TXT_SignalConnect(run_control, "changed", UpdateJoybSpeed, NULL);
AddKeyControl(movement_table, "Move Forward", &key_up);
AddKeyControl(movement_table, " Strafe Left", &key_strafeleft);
AddKeyControl(movement_table, "Move Backward", &key_down);
AddKeyControl(movement_table, " Strafe Right", &key_straferight);
AddKeyControl(movement_table, "Turn Left", &key_left);
AddKeyControl(movement_table, " Speed On", &key_speed);
AddKeyControl(movement_table, "Turn Right", &key_right);
AddKeyControl(movement_table, " Strafe On", &key_strafe);
TXT_SetColumnWidths(action_table, 15, 4, 15, 4);
AddKeyControl(action_table, "Fire/Attack", &key_fire);
AddKeyControl(action_table, " Use", &key_use);
TXT_SetWindowAction(window, TXT_HORIZ_CENTER, TestConfigAction());
}

View File

@ -0,0 +1,107 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
// Copyright(C) 2006 Simon Howard
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
#ifndef SETUP_KEYBOARD_H
#define SETUP_KEYBOARD_H
extern int key_left;
extern int key_right;
extern int key_up;
extern int key_down;
extern int key_strafeleft;
extern int key_straferight;
extern int key_fire;
extern int key_use;
extern int key_strafe;
extern int key_speed;
extern int joybspeed;
extern int vanilla_keyboard_mapping;
extern int key_pause;
// Multiplayer messages:
extern int key_multi_msg;
extern int key_multi_msgplayer[];
// Menu keys:
extern int key_menu_activate;
extern int key_menu_up;
extern int key_menu_down;
extern int key_menu_left;
extern int key_menu_right;
extern int key_menu_back;
extern int key_menu_forward;
extern int key_menu_confirm;
extern int key_menu_abort;
extern int key_menu_help;
extern int key_menu_save;
extern int key_menu_load;
extern int key_menu_volume;
extern int key_menu_detail;
extern int key_menu_qsave;
extern int key_menu_endgame;
extern int key_menu_messages;
extern int key_menu_qload;
extern int key_menu_quit;
extern int key_menu_gamma;
extern int key_spy;
extern int key_menu_incscreen;
extern int key_menu_decscreen;
// Automap keys:
extern int key_map_north;
extern int key_map_south;
extern int key_map_east;
extern int key_map_west;
extern int key_map_zoomin;
extern int key_map_zoomout;
extern int key_map_toggle;
extern int key_map_maxzoom;
extern int key_map_follow;
extern int key_map_grid;
extern int key_map_mark;
extern int key_map_clearmark;
// Weapon keys:
extern int key_weapon1;
extern int key_weapon2;
extern int key_weapon3;
extern int key_weapon4;
extern int key_weapon5;
extern int key_weapon6;
extern int key_weapon7;
extern int key_weapon8;
extern int key_prevweapon;
extern int key_nextweapon;
extern int key_message_refresh;
extern int key_demo_quit;
void ConfigKeyboard(void);
#endif /* #ifndef SETUP_KEYBOARD_H */

View File

@ -0,0 +1,65 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
// Copyright(C) 1993-1996 Id Software, Inc.
// Copyright(C) 2005 Simon Howard
// Copyright(C) 2008 "GhostlyDeath" (ghostlydeath@gmail.com)
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
// DESCRIPTION:
//
//-----------------------------------------------------------------------------
#include <string.h>
int myargc;
char** myargv;
// From doomdef.h -- no need to include it all!
#ifdef _WIN32
#define snprintf _snprintf
#define vsnprintf _vsnprintf
#define strcasecmp stricmp
#define strncasecmp strnicmp
#else
#include <strings.h>
#endif
//
// M_CheckParm
// Checks for the given parameter
// in the program's command line arguments.
// Returns the argument number (1 to argc-1)
// or 0 if not present
int M_CheckParm (char *check)
{
int i;
for (i = 1;i<myargc;i++)
{
if ( !strcasecmp(check, myargv[i]) )
return i;
}
return 0;
}

View File

@ -0,0 +1,42 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
// Copyright(C) 1993-1996 Id Software, Inc.
// Copyright(C) 2005 Simon Howard
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
// DESCRIPTION:
// Nil.
//
//-----------------------------------------------------------------------------
#ifndef __M_ARGV__
#define __M_ARGV__
//
// MISC
//
extern int myargc;
extern char** myargv;
// Returns the position of the given parameter
// in the arg list (0 if not found).
int M_CheckParm (char* check);
#endif

View File

@ -0,0 +1,315 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
// Copyright(C) 2006 Simon Howard
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#ifdef _WIN32_WCE
#include "libc_wince.h"
#endif
#include "config.h"
#include "textscreen.h"
#include "execute.h"
#include "configfile.h"
#include "m_argv.h"
#include "setup_icon.c"
#include "compatibility.h"
#include "display.h"
#include "joystick.h"
#include "keyboard.h"
#include "mouse.h"
#include "multiplayer.h"
#include "sound.h"
static const int cheat_sequence[] =
{
KEY_UPARROW, KEY_UPARROW, KEY_DOWNARROW, KEY_DOWNARROW,
KEY_LEFTARROW, KEY_RIGHTARROW, KEY_LEFTARROW, KEY_RIGHTARROW,
'b', 'a', KEY_ENTER, 0
};
static unsigned int cheat_sequence_index = 0;
// I think these are good "sensible" defaults:
static void SensibleDefaults(void)
{
key_up = 'w';
key_down = 's';
key_strafeleft = 'a';
key_straferight = 'd';
mousebprevweapon = 4;
mousebnextweapon = 3;
snd_musicdevice = 3;
joybspeed = 29;
vanilla_savegame_limit = 0;
vanilla_keyboard_mapping = 0;
vanilla_demo_limit = 0;
show_endoom = 0;
dclick_use = 0;
novert = 1;
}
static int MainMenuKeyPress(txt_window_t *window, int key, void *user_data)
{
if (key == cheat_sequence[cheat_sequence_index])
{
++cheat_sequence_index;
if (cheat_sequence[cheat_sequence_index] == 0)
{
SensibleDefaults();
cheat_sequence_index = 0;
window = TXT_NewWindow(NULL);
TXT_AddWidget(window, TXT_NewLabel(" \x01 "));
TXT_SetWindowAction(window, TXT_HORIZ_RIGHT, NULL);
return 1;
}
}
else
{
cheat_sequence_index = 0;
}
return 0;
}
static void DoQuit(void *widget, void *dosave)
{
if (dosave != NULL)
{
M_SaveDefaults();
}
exit(0);
}
static void QuitConfirm(void *unused1, void *unused2)
{
txt_window_t *window;
txt_label_t *label;
txt_button_t *yes_button;
txt_button_t *no_button;
window = TXT_NewWindow(NULL);
TXT_AddWidgets(window,
label = TXT_NewLabel("Exiting setup.\nSave settings?"),
TXT_NewStrut(24, 0),
yes_button = TXT_NewButton2(" Yes ", DoQuit, DoQuit),
no_button = TXT_NewButton2(" No ", DoQuit, NULL),
NULL);
TXT_SetWidgetAlign(label, TXT_HORIZ_CENTER);
TXT_SetWidgetAlign(yes_button, TXT_HORIZ_CENTER);
TXT_SetWidgetAlign(no_button, TXT_HORIZ_CENTER);
// Only an "abort" button in the middle.
TXT_SetWindowAction(window, TXT_HORIZ_LEFT, NULL);
TXT_SetWindowAction(window, TXT_HORIZ_CENTER,
TXT_NewWindowAbortAction(window));
TXT_SetWindowAction(window, TXT_HORIZ_RIGHT, NULL);
}
static void LaunchDoom(void *unused1, void *unused2)
{
execute_context_t *exec;
// Save configuration first
M_SaveDefaults();
// Shut down textscreen GUI
TXT_Shutdown();
// Launch Doom
exec = NewExecuteContext();
PassThroughArguments(exec);
ExecuteDoom(exec);
exit(0);
}
void MainMenu(void)
{
txt_window_t *window;
txt_window_action_t *quit_action;
txt_window_action_t *warp_action;
window = TXT_NewWindow("Main Menu");
TXT_AddWidgets(window,
TXT_NewButton2("Configure Display",
(TxtWidgetSignalFunc) ConfigDisplay, NULL),
TXT_NewButton2("Configure Joystick",
(TxtWidgetSignalFunc) ConfigJoystick, NULL),
TXT_NewButton2("Configure Keyboard",
(TxtWidgetSignalFunc) ConfigKeyboard, NULL),
TXT_NewButton2("Configure Mouse",
(TxtWidgetSignalFunc) ConfigMouse, NULL),
TXT_NewButton2("Configure Sound",
(TxtWidgetSignalFunc) ConfigSound, NULL),
TXT_NewButton2("Compatibility",
(TxtWidgetSignalFunc) CompatibilitySettings, NULL),
TXT_NewButton2("Save parameters and launch DOOM", LaunchDoom, NULL),
TXT_NewStrut(0, 1),
TXT_NewButton2("Start a Network Game",
(TxtWidgetSignalFunc) StartMultiGame, NULL),
TXT_NewButton2("Join a Network Game",
(TxtWidgetSignalFunc) JoinMultiGame, NULL),
TXT_NewButton2("Multiplayer Configuration",
(TxtWidgetSignalFunc) MultiplayerConfig, NULL),
NULL);
quit_action = TXT_NewWindowAction(KEY_ESCAPE, "Quit");
warp_action = TXT_NewWindowAction(KEY_F1, "Warp");
TXT_SignalConnect(quit_action, "pressed", QuitConfirm, NULL);
TXT_SignalConnect(warp_action, "pressed",
(TxtWidgetSignalFunc) WarpMenu, NULL);
TXT_SetWindowAction(window, TXT_HORIZ_LEFT, quit_action);
TXT_SetWindowAction(window, TXT_HORIZ_CENTER, warp_action);
TXT_SetKeyListener(window, MainMenuKeyPress, NULL);
}
//
// Initialize all configuration variables, load config file, etc
//
static void InitConfig(void)
{
M_ApplyPlatformDefaults();
SetChatMacroDefaults();
SetPlayerNameDefault();
M_SetConfigDir();
M_LoadDefaults();
}
//
// Application icon
//
static void SetIcon(void)
{
SDL_Surface *surface;
Uint8 *mask;
int i;
// Generate the mask
mask = malloc(setup_icon_w * setup_icon_h / 8);
memset(mask, 0, setup_icon_w * setup_icon_h / 8);
for (i=0; i<setup_icon_w * setup_icon_h; ++i)
{
if (setup_icon_data[i * 3] != 0x00
|| setup_icon_data[i * 3 + 1] != 0x00
|| setup_icon_data[i * 3 + 2] != 0x00)
{
mask[i / 8] |= 1 << (7 - i % 8);
}
}
surface = SDL_CreateRGBSurfaceFrom(setup_icon_data,
setup_icon_w,
setup_icon_h,
24,
setup_icon_w * 3,
0xff << 0,
0xff << 8,
0xff << 16,
0);
SDL_WM_SetIcon(surface, mask);
SDL_FreeSurface(surface);
free(mask);
}
// Initialize the textscreen library.
static void InitTextscreen(void)
{
SetDisplayDriver();
if (!TXT_Init())
{
fprintf(stderr, "Failed to initialize GUI\n");
exit(-1);
}
TXT_SetDesktopTitle(PACKAGE_NAME " Setup ver " PACKAGE_VERSION);
SetIcon();
}
// Restart the textscreen library. Used when the video_driver variable
// is changed.
void RestartTextscreen(void)
{
TXT_Shutdown();
InitTextscreen();
}
//
// Initialize and run the textscreen GUI.
//
static void RunGUI(void)
{
InitTextscreen();
MainMenu();
TXT_GUIMainLoop();
}
int main(int argc, char *argv[])
{
myargc = argc;
myargv = argv;
#ifdef _WIN32_WCE
// Windows CE has no environment, but SDL provides an implementation.
// Populate the environment with the values we normally find.
PopulateEnvironment();
#endif
InitConfig();
RunGUI();
return 0;
}

View File

@ -0,0 +1,163 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
// Copyright(C) 2006 Simon Howard
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
#include <stdlib.h>
#include "textscreen.h"
#include "doomtype.h"
#include "execute.h"
#include "txt_mouseinput.h"
#include "mouse.h"
int usemouse = 1;
int novert = 0;
int mouseSensitivity = 5;
float mouse_acceleration = 2.0;
int mouse_threshold = 10;
int grabmouse = 1;
int mousebfire = 0;
int mousebforward = 1;
int mousebstrafe = 2;
int mousebstrafeleft = -1;
int mousebstraferight = -1;
int mousebbackward = -1;
int mousebuse = -1;
int mousebprevweapon = -1;
int mousebnextweapon = -1;
int dclick_use = 1;
static int *all_mouse_buttons[] = {
&mousebfire,
&mousebstrafe,
&mousebforward,
&mousebstrafeleft,
&mousebstraferight,
&mousebbackward,
&mousebuse,
&mousebprevweapon,
&mousebnextweapon
};
static void MouseSetCallback(TXT_UNCAST_ARG(widget), TXT_UNCAST_ARG(variable))
{
TXT_CAST_ARG(int, variable);
unsigned int i;
// Check if the same mouse button is used for a different action
// If so, set the other action(s) to -1 (unset)
for (i=0; i<arrlen(all_mouse_buttons); ++i)
{
if (*all_mouse_buttons[i] == *variable
&& all_mouse_buttons[i] != variable)
{
*all_mouse_buttons[i] = -1;
}
}
}
static void AddMouseControl(txt_table_t *table, char *label, int *var)
{
txt_mouse_input_t *mouse_input;
TXT_AddWidget(table, TXT_NewLabel(label));
mouse_input = TXT_NewMouseInput(var);
TXT_AddWidget(table, mouse_input);
TXT_SignalConnect(mouse_input, "set", MouseSetCallback, var);
}
static void ConfigExtraButtons(TXT_UNCAST_ARG(widget), TXT_UNCAST_ARG(unused))
{
txt_window_t *window;
txt_table_t *buttons_table;
window = TXT_NewWindow("Additional mouse buttons");
TXT_AddWidgets(window,
buttons_table = TXT_NewTable(2),
NULL);
TXT_SetColumnWidths(buttons_table, 29, 5);
AddMouseControl(buttons_table, "Move backward", &mousebbackward);
AddMouseControl(buttons_table, "Use", &mousebuse);
AddMouseControl(buttons_table, "Strafe left", &mousebstrafeleft);
AddMouseControl(buttons_table, "Strafe right", &mousebstraferight);
AddMouseControl(buttons_table, "Previous weapon", &mousebprevweapon);
AddMouseControl(buttons_table, "Next weapon", &mousebnextweapon);
}
void ConfigMouse(void)
{
txt_window_t *window;
txt_table_t *motion_table;
txt_table_t *buttons_table;
txt_button_t *more_buttons;
window = TXT_NewWindow("Mouse configuration");
TXT_AddWidgets(window,
TXT_NewCheckBox("Enable mouse", &usemouse),
TXT_NewInvertedCheckBox("Allow vertical mouse movement",
&novert),
TXT_NewCheckBox("Grab mouse in windowed mode",
&grabmouse),
TXT_NewCheckBox("Double click acts as \"use\"",
&dclick_use),
TXT_NewSeparator("Mouse motion"),
motion_table = TXT_NewTable(2),
TXT_NewSeparator("Buttons"),
buttons_table = TXT_NewTable(2),
more_buttons = TXT_NewButton("More buttons..."),
NULL);
TXT_SetColumnWidths(motion_table, 27, 5);
TXT_AddWidgets(motion_table,
TXT_NewLabel("Speed"),
TXT_NewSpinControl(&mouseSensitivity, 1, 256),
TXT_NewLabel("Acceleration"),
TXT_NewFloatSpinControl(&mouse_acceleration, 1.0, 5.0),
TXT_NewLabel("Acceleration threshold"),
TXT_NewSpinControl(&mouse_threshold, 0, 32),
NULL);
TXT_SetColumnWidths(buttons_table, 27, 5);
AddMouseControl(buttons_table, "Move forward", &mousebforward);
AddMouseControl(buttons_table, "Strafe on", &mousebstrafe);
AddMouseControl(buttons_table, "Fire weapon", &mousebfire);
TXT_SetWindowAction(window, TXT_HORIZ_CENTER, TestConfigAction());
TXT_SignalConnect(more_buttons, "pressed", ConfigExtraButtons, NULL);
}

View File

@ -0,0 +1,47 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
// Copyright(C) 2006 Simon Howard
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
#ifndef SETUP_MOUSE_H
#define SETUP_MOUSE_H
extern int usemouse;
extern int novert;
extern int mouseSensitivity;
extern float mouse_acceleration;
extern int mouse_threshold;
extern int grabmouse;
extern int mousebfire;
extern int mousebforward;
extern int mousebstrafe;
extern int mousebstrafeleft;
extern int mousebstraferight;
extern int mousebbackward;
extern int mousebuse;
extern int dclick_use;
extern int mousebprevweapon;
extern int mousebnextweapon;
void ConfigMouse(void);
#endif /* #ifndef SETUP_MOUSE_H */

View File

@ -0,0 +1,850 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
// Copyright(C) 2006 Simon Howard
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "d_englsh.h"
#include "textscreen.h"
#include "doomtype.h"
#include "configfile.h"
#include "execute.h"
#include "multiplayer.h"
#define NUM_WADS 10
#define NUM_EXTRA_PARAMS 10
typedef struct
{
char *filename;
char *description;
int mask;
} iwad_t;
typedef enum
{
WARP_DOOM1,
WARP_DOOM2,
} warptype_t;
typedef enum
{
JOIN_AUTO_LAN,
JOIN_ADDRESS,
} jointype_t;
static iwad_t iwads[] =
{
{ "doom.wad", "Doom", IWAD_DOOM },
{ "doom2.wad", "Doom 2", IWAD_DOOM2 },
{ "tnt.wad", "Final Doom: TNT", IWAD_TNT },
{ "plutonia.wad", "Final Doom: Plutonia", IWAD_PLUTONIA },
{ "doom1.wad", "Doom shareware", IWAD_DOOM1 },
{ "chex.wad", "Chex Quest", IWAD_CHEX },
};
// Array of IWADs found to be installed
static char *found_iwads[6];
// Index of the currently selected IWAD
static int found_iwad_selected;
// Filename to pass to '-iwad'.
static char *iwadfile;
static char *skills[] =
{
"I'm too young to die.",
"Hey, not too rough.",
"Hurt me plenty.",
"Ultra-Violence.",
"NIGHTMARE!",
};
static char *chex_skills[] =
{
"Easy does it",
"Not so sticky",
"Gobs of goo",
"Extreme ooze",
"SUPER SLIMEY!"
};
static char *gamemodes[] =
{
"Co-operative",
"Deathmatch",
"Deathmatch 2.0",
};
char *net_player_name;
char *chat_macros[10];
static int jointype = JOIN_ADDRESS;
static char *wads[NUM_WADS];
static char *extra_params[NUM_EXTRA_PARAMS];
static int skill = 2;
static int nomonsters = 0;
static int deathmatch = 0;
static int fast = 0;
static int respawn = 0;
static int udpport = 2342;
static int timer = 0;
static int privateserver = 0;
static txt_dropdown_list_t *skillbutton;
static txt_button_t *warpbutton;
static warptype_t warptype = WARP_DOOM2;
static int warpepisode = 1;
static int warpmap = 1;
// Address to connect to when joining a game
static char *connect_address = NULL;
// Find an IWAD from its description
static iwad_t *GetIWADForDescription(char *description)
{
unsigned int i;
for (i=0; i<arrlen(iwads); ++i)
{
if (!strcmp(iwads[i].description, description))
{
return &iwads[i];
}
}
return NULL;
}
static iwad_t *GetCurrentIWAD(void)
{
return GetIWADForDescription(found_iwads[found_iwad_selected]);
}
static void AddWADs(execute_context_t *exec)
{
int have_wads = 0;
int i;
for (i=0; i<NUM_WADS; ++i)
{
if (wads[i] != NULL && strlen(wads[i]) > 0)
{
if (!have_wads)
{
AddCmdLineParameter(exec, "-file");
}
AddCmdLineParameter(exec, "\"%s\"", wads[i]);
}
}
}
static void AddExtraParameters(execute_context_t *exec)
{
int i;
for (i=0; i<NUM_EXTRA_PARAMS; ++i)
{
if (extra_params[i] != NULL && strlen(extra_params[i]) > 0)
{
AddCmdLineParameter(exec, extra_params[i]);
}
}
}
static void AddIWADParameter(execute_context_t *exec)
{
if (iwadfile != NULL)
{
AddCmdLineParameter(exec, "-iwad %s", iwadfile);
}
}
// Callback function invoked to launch the game.
// This is used when starting a server and also when starting a
// single player game via the "warp" menu.
static void StartGame(int multiplayer)
{
execute_context_t *exec;
exec = NewExecuteContext();
// Extra parameters come first, before all others; this way,
// they can override any of the options set in the dialog.
AddExtraParameters(exec);
AddIWADParameter(exec);
AddCmdLineParameter(exec, "-skill %i", skill + 1);
if (nomonsters)
{
AddCmdLineParameter(exec, "-nomonsters");
}
if (fast)
{
AddCmdLineParameter(exec, "-fast");
}
if (respawn)
{
AddCmdLineParameter(exec, "-respawn");
}
if (warptype == WARP_DOOM1)
{
// TODO: select IWAD based on warp type
AddCmdLineParameter(exec, "-warp %i %i", warpepisode, warpmap);
}
else if (warptype == WARP_DOOM2)
{
AddCmdLineParameter(exec, "-warp %i", warpmap);
}
// Multiplayer-specific options:
if (multiplayer)
{
AddCmdLineParameter(exec, "-server");
AddCmdLineParameter(exec, "-port %i", udpport);
if (deathmatch == 1)
{
AddCmdLineParameter(exec, "-deathmatch");
}
else if (deathmatch == 2)
{
AddCmdLineParameter(exec, "-altdeath");
}
if (timer > 0)
{
AddCmdLineParameter(exec, "-timer %i", timer);
}
if (privateserver)
{
AddCmdLineParameter(exec, "-privateserver");
}
}
AddWADs(exec);
TXT_Shutdown();
M_SaveDefaults();
PassThroughArguments(exec);
ExecuteDoom(exec);
exit(0);
}
static void StartServerGame(TXT_UNCAST_ARG(widget), TXT_UNCAST_ARG(unused))
{
StartGame(1);
}
static void StartSinglePlayerGame(TXT_UNCAST_ARG(widget), TXT_UNCAST_ARG(unused))
{
StartGame(0);
}
static void UpdateWarpButton(void)
{
char buf[10];
if (warptype == WARP_DOOM1)
{
sprintf(buf, "E%iM%i", warpepisode, warpmap);
}
else if (warptype == WARP_DOOM2)
{
sprintf(buf, "MAP%02i", warpmap);
}
TXT_SetButtonLabel(warpbutton, buf);
}
static void UpdateSkillButton(void)
{
iwad_t *iwad = GetCurrentIWAD();
if (iwad->mask == IWAD_CHEX)
{
skillbutton->values = chex_skills;
}
else
{
skillbutton->values = skills;
}
}
static void SetDoom1Warp(TXT_UNCAST_ARG(widget), void *val)
{
int l;
l = (int) val;
warpepisode = l / 10;
warpmap = l % 10;
UpdateWarpButton();
}
static void SetDoom2Warp(TXT_UNCAST_ARG(widget), void *val)
{
int l;
l = (int) val;
warpmap = l;
UpdateWarpButton();
}
static void CloseLevelSelectDialog(TXT_UNCAST_ARG(button), TXT_UNCAST_ARG(window))
{
TXT_CAST_ARG(txt_window_t, window);
TXT_CloseWindow(window);
}
static void LevelSelectDialog(TXT_UNCAST_ARG(widget), TXT_UNCAST_ARG(user_data))
{
txt_window_t *window;
txt_table_t *table;
txt_button_t *button;
iwad_t *iwad;
char buf[10];
int x, y;
int l;
int i;
window = TXT_NewWindow("Select level");
table = TXT_NewTable(4);
TXT_AddWidget(window, table);
if (warptype == WARP_DOOM1)
{
// ExMy levels
iwad = GetCurrentIWAD();
for (i=0; i<4 * 9; ++i)
{
x = (i % 4) + 1;
y = (i / 4) + 1;
// chex.wad only has E1M1-E1M5.
if (iwad->mask == IWAD_CHEX && (x > 1 || y > 5))
{
continue;
}
// doom1.wad only has E1
if (iwad->mask == IWAD_DOOM1 && x > 1)
{
continue;
}
sprintf(buf, " E%iM%i ", x, y);
button = TXT_NewButton(buf);
TXT_SignalConnect(button, "pressed",
SetDoom1Warp, (void *) (x * 10 + y));
TXT_SignalConnect(button, "pressed",
CloseLevelSelectDialog, window);
TXT_AddWidget(table, button);
if (warpepisode == x && warpmap == y)
{
TXT_SelectWidget(table, button);
}
}
}
else
{
for (i=0; i<32; ++i)
{
x = i % 4;
y = i / 4;
l = x * 8 + y + 1;
sprintf(buf, " MAP%02i ", l);
button = TXT_NewButton(buf);
TXT_SignalConnect(button, "pressed",
SetDoom2Warp, (void *) l);
TXT_SignalConnect(button, "pressed",
CloseLevelSelectDialog, window);
TXT_AddWidget(table, button);
if (warpmap == l)
{
TXT_SelectWidget(table, button);
}
}
}
}
static void IWADSelected(TXT_UNCAST_ARG(widget), TXT_UNCAST_ARG(unused))
{
iwad_t *iwad;
// Find the iwad_t selected
iwad = GetCurrentIWAD();
// Update iwadfile
iwadfile = iwad->filename;
}
// Called when the IWAD button is changed, to update warptype.
static void UpdateWarpType(TXT_UNCAST_ARG(widget), TXT_UNCAST_ARG(unused))
{
warptype_t new_warptype;
iwad_t *iwad;
// Get the selected IWAD
iwad = GetIWADForDescription(found_iwads[found_iwad_selected]);
// Find the new warp type
if (iwad->mask & (IWAD_DOOM | IWAD_DOOM1 | IWAD_CHEX))
{
new_warptype = WARP_DOOM1;
}
else
{
new_warptype = WARP_DOOM2;
}
// Reset to E1M1 / MAP01 when the warp type is changed.
if (new_warptype != warptype)
{
warpepisode = 1;
warpmap = 1;
}
warptype = new_warptype;
UpdateWarpButton();
UpdateSkillButton();
}
static txt_widget_t *IWADSelector(void)
{
txt_dropdown_list_t *dropdown;
txt_widget_t *result;
int installed_iwads;
int num_iwads;
unsigned int i;
// Find out what WADs are installed
installed_iwads = FindInstalledIWADs();
// Build a list of the descriptions for all installed IWADs
num_iwads = 0;
for (i=0; i<arrlen(iwads); ++i)
{
if (installed_iwads & iwads[i].mask)
{
found_iwads[num_iwads] = iwads[i].description;
++num_iwads;
}
}
// If no IWADs are found, provide Doom 2 as an option, but
// we're probably screwed.
if (num_iwads == 0)
{
found_iwads[0] = "Doom 2";
num_iwads = 1;
}
// Build a dropdown list of IWADs
if (num_iwads < 2)
{
// We have only one IWAD. Show as a label.
result = (txt_widget_t *) TXT_NewLabel(found_iwads[0]);
}
else
{
// Dropdown list allowing IWAD to be selected.
dropdown = TXT_NewDropdownList(&found_iwad_selected,
found_iwads, num_iwads);
TXT_SignalConnect(dropdown, "changed", IWADSelected, NULL);
result = (txt_widget_t *) dropdown;
}
// Select first in the list.
found_iwad_selected = 0;
IWADSelected(NULL, NULL);
return result;
}
// Create the window action button to start the game. This invokes
// a different callback depending on whether to start a multiplayer
// or single player game.
static txt_window_action_t *StartGameAction(int multiplayer)
{
txt_window_action_t *action;
TxtWidgetSignalFunc callback;
action = TXT_NewWindowAction(KEY_F10, "Start");
if (multiplayer)
{
callback = StartServerGame;
}
else
{
callback = StartSinglePlayerGame;
}
TXT_SignalConnect(action, "pressed", callback, NULL);
return action;
}
static void OpenWadsWindow(TXT_UNCAST_ARG(widget), TXT_UNCAST_ARG(user_data))
{
txt_window_t *window;
int i;
window = TXT_NewWindow("Add WADs");
for (i=0; i<NUM_WADS; ++i)
{
TXT_AddWidget(window, TXT_NewInputBox(&wads[i], 60));
}
}
static void OpenExtraParamsWindow(TXT_UNCAST_ARG(widget),
TXT_UNCAST_ARG(user_data))
{
txt_window_t *window;
int i;
window = TXT_NewWindow("Extra command line parameters");
for (i=0; i<NUM_EXTRA_PARAMS; ++i)
{
TXT_AddWidget(window, TXT_NewInputBox(&extra_params[i], 70));
}
}
static txt_window_action_t *WadWindowAction(void)
{
txt_window_action_t *action;
action = TXT_NewWindowAction('w', "Add WADs");
TXT_SignalConnect(action, "pressed", OpenWadsWindow, NULL);
return action;
}
// "Start game" menu. This is used for the start server window
// and the single player warp menu. The parameters specify
// the window title and whether to display multiplayer options.
static void StartGameMenu(char *window_title, int multiplayer)
{
txt_window_t *window;
txt_table_t *gameopt_table;
txt_table_t *advanced_table;
txt_widget_t *iwad_selector;
window = TXT_NewWindow(window_title);
TXT_AddWidgets(window,
gameopt_table = TXT_NewTable(2),
TXT_NewSeparator("Monster options"),
TXT_NewInvertedCheckBox("Monsters enabled", &nomonsters),
TXT_NewCheckBox("Fast monsters", &fast),
TXT_NewCheckBox("Respawning monsters", &respawn),
TXT_NewSeparator("Advanced"),
advanced_table = TXT_NewTable(2),
NULL);
TXT_SetWindowAction(window, TXT_HORIZ_CENTER, WadWindowAction());
TXT_SetWindowAction(window, TXT_HORIZ_RIGHT, StartGameAction(multiplayer));
TXT_SetColumnWidths(gameopt_table, 12, 6);
TXT_AddWidgets(gameopt_table,
TXT_NewLabel("Game"),
iwad_selector = IWADSelector(),
TXT_NewLabel("Skill"),
skillbutton = TXT_NewDropdownList(&skill, skills, 5),
TXT_NewLabel("Level warp"),
warpbutton = TXT_NewButton2("????", LevelSelectDialog, NULL),
NULL);
if (multiplayer)
{
TXT_AddWidgets(gameopt_table,
TXT_NewLabel("Game type"),
TXT_NewDropdownList(&deathmatch, gamemodes, 3),
TXT_NewLabel("Time limit"),
TXT_NewHorizBox(TXT_NewIntInputBox(&timer, 2),
TXT_NewLabel("minutes"),
NULL),
NULL);
TXT_AddWidget(window,
TXT_NewInvertedCheckBox("Register with master server",
&privateserver));
TXT_AddWidgets(advanced_table,
TXT_NewLabel("UDP port"),
TXT_NewIntInputBox(&udpport, 5),
NULL);
}
TXT_AddWidget(window,
TXT_NewButton2("Add extra parameters...",
OpenExtraParamsWindow, NULL));
TXT_SetColumnWidths(advanced_table, 12, 6);
TXT_SignalConnect(iwad_selector, "changed", UpdateWarpType, NULL);
UpdateWarpType(NULL, NULL);
UpdateWarpButton();
}
void StartMultiGame(void)
{
StartGameMenu("Start multiplayer game", 1);
}
void WarpMenu(void)
{
StartGameMenu("Level Warp", 0);
}
static void DoJoinGame(void *unused1, void *unused2)
{
execute_context_t *exec;
exec = NewExecuteContext();
if (jointype == JOIN_ADDRESS)
{
AddCmdLineParameter(exec, "-connect %s", connect_address);
}
else if (jointype == JOIN_AUTO_LAN)
{
AddCmdLineParameter(exec, "-autojoin");
}
// Extra parameters come first, so that they can be used to override
// the other parameters.
AddExtraParameters(exec);
AddIWADParameter(exec);
AddWADs(exec);
TXT_Shutdown();
M_SaveDefaults();
PassThroughArguments(exec);
ExecuteDoom(exec);
exit(0);
}
static txt_window_action_t *JoinGameAction(void)
{
txt_window_action_t *action;
action = TXT_NewWindowAction(KEY_F10, "Connect");
TXT_SignalConnect(action, "pressed", DoJoinGame, NULL);
return action;
}
// When an address is entered, select "address" mode.
static void SelectAddressJoin(TXT_UNCAST_ARG(widget), TXT_UNCAST_ARG(unused))
{
jointype = JOIN_ADDRESS;
}
void JoinMultiGame(void)
{
txt_window_t *window;
txt_table_t *gameopt_table;
txt_table_t *serveropt_table;
txt_inputbox_t *address_box;
window = TXT_NewWindow("Join multiplayer game");
TXT_AddWidgets(window,
gameopt_table = TXT_NewTable(2),
TXT_NewSeparator("Server"),
serveropt_table = TXT_NewTable(2),
TXT_NewStrut(0, 1),
TXT_NewButton2("Add extra parameters...", OpenExtraParamsWindow, NULL),
NULL);
TXT_SetColumnWidths(gameopt_table, 12, 12);
TXT_AddWidgets(gameopt_table,
TXT_NewLabel("Game"),
IWADSelector(),
NULL);
TXT_AddWidgets(serveropt_table,
TXT_NewRadioButton("Connect to address:",
&jointype, JOIN_ADDRESS),
address_box = TXT_NewInputBox(&connect_address, 30),
TXT_NewRadioButton("Auto-join LAN game",
&jointype, JOIN_AUTO_LAN),
NULL);
TXT_SignalConnect(address_box, "changed", SelectAddressJoin, NULL);
TXT_SelectWidget(window, address_box);
TXT_SetWindowAction(window, TXT_HORIZ_CENTER, WadWindowAction());
TXT_SetWindowAction(window, TXT_HORIZ_RIGHT, JoinGameAction());
}
void SetChatMacroDefaults(void)
{
int i;
char *defaults[] =
{
HUSTR_CHATMACRO1,
HUSTR_CHATMACRO2,
HUSTR_CHATMACRO3,
HUSTR_CHATMACRO4,
HUSTR_CHATMACRO5,
HUSTR_CHATMACRO6,
HUSTR_CHATMACRO7,
HUSTR_CHATMACRO8,
HUSTR_CHATMACRO9,
HUSTR_CHATMACRO0,
};
// If the chat macros have not been set, initialize with defaults.
for (i=0; i<10; ++i)
{
if (chat_macros[i] == NULL)
{
chat_macros[i] = strdup(defaults[i]);
}
}
}
void SetPlayerNameDefault(void)
{
if (net_player_name == NULL)
{
net_player_name = getenv("USER");
}
if (net_player_name == NULL)
{
net_player_name = getenv("USERNAME");
}
if (net_player_name == NULL)
{
net_player_name = "player";
}
}
void MultiplayerConfig(void)
{
txt_window_t *window;
txt_label_t *label;
txt_table_t *table;
char buf[10];
int i;
window = TXT_NewWindow("Multiplayer Configuration");
TXT_AddWidgets(window,
TXT_NewStrut(0, 1),
TXT_NewHorizBox(TXT_NewLabel("Player name: "),
TXT_NewInputBox(&net_player_name, 25),
NULL),
TXT_NewStrut(0, 1),
TXT_NewSeparator("Chat macros"),
NULL);
table = TXT_NewTable(2);
for (i=0; i<10; ++i)
{
sprintf(buf, "#%i ", i + 1);
label = TXT_NewLabel(buf);
TXT_SetFGColor(label, TXT_COLOR_BRIGHT_CYAN);
TXT_AddWidgets(table,
label,
TXT_NewInputBox(&chat_macros[(i + 1) % 10], 40),
NULL);
}
TXT_AddWidget(window, table);
}

View File

@ -0,0 +1,37 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
// Copyright(C) 2006 Simon Howard
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
#ifndef SETUP_MULTIPLAYER_H
#define SETUP_MULTIPLAYER_H
extern char *net_player_name;
extern char *chat_macros[10];
void StartMultiGame(void);
void WarpMenu(void);
void JoinMultiGame(void);
void MultiplayerConfig(void);
void SetChatMacroDefaults(void);
void SetPlayerNameDefault(void);
#endif /* #ifndef SETUP_MULTIPLAYER_H */

BIN
dockerdoom/trunk/setup/psd-setup Executable file

Binary file not shown.

View File

@ -0,0 +1,7 @@
[Desktop Entry]
Name=psdoom Setup
Exec=psd-setup
Icon=psd-setup
Type=Application
Comment=Setup tool for psdoom
Categories=Settings;ConsoleOnly;

View File

@ -0,0 +1,7 @@
[Desktop Entry]
Name=psdoom Setup
Exec=pssetup
Icon=pssetup
Type=Application
Comment=Setup tool for psdoom
Categories=Settings;ConsoleOnly;

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Magic manifest file that should make Windows Vista/7 not
attempt to gain elevated privileges for chocolate-setup.
Based on:
http://www.cygwin.com/ml/cygwin/2006-12/msg00580.html
-->
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<!-- The "name" field in this tag should be the same as the executable's
name -->
<assemblyIdentity version="0.0.0.0" processorArchitecture="X86"
name="pssetup.exe" type="win32"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<!-- Stop the Program Compatibility Assistant appearing: -->
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/> <!-- 7 -->
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/> <!-- Vista -->
</application>
</compatibility>
</assembly>

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Magic manifest file that should make Windows Vista/7 not
attempt to gain elevated privileges for chocolate-setup.
Based on:
http://www.cygwin.com/ml/cygwin/2006-12/msg00580.html
-->
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<!-- The "name" field in this tag should be the same as the executable's
name -->
<assemblyIdentity version="0.0.0.0" processorArchitecture="X86"
name="@PROGRAM_PREFIX@setup.exe" type="win32"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<!-- Stop the Program Compatibility Assistant appearing: -->
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/> <!-- 7 -->
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/> <!-- Vista -->
</application>
</compatibility>
</assembly>

View File

@ -0,0 +1,24 @@
1 ICON "../data/setup.ico"
1 24 MOVEABLE PURE "setup-manifest.xml"
1 VERSIONINFO
PRODUCTVERSION 2012, 02, 05-1, 6, 0, 0
FILEVERSION 2012, 02, 05-1, 6, 0, 0
FILETYPE 1
{
BLOCK "StringFileInfo"
{
BLOCK "040904E4"
{
VALUE "FileVersion", "2012.02.05-1.6.0"
VALUE "FileDescription", "psdoom 2012.02.05-1.6.0 Setup"
VALUE "InternalName", "psdoom"
VALUE "CompanyName", "orsonteodoro@yahoo.com"
VALUE "LegalCopyright", "GNU General Public License"
VALUE "ProductName", "psdoom Setup"
VALUE "ProductVersion", "2012.02.05-1.6.0"
}
}
}

View File

@ -0,0 +1,24 @@
1 ICON "../data/setup.ico"
1 24 MOVEABLE PURE "setup-manifest.xml"
1 VERSIONINFO
PRODUCTVERSION @WINDOWS_RC_VERSION@
FILEVERSION @WINDOWS_RC_VERSION@
FILETYPE 1
{
BLOCK "StringFileInfo"
{
BLOCK "040904E4"
{
VALUE "FileVersion", "@PACKAGE_VERSION@"
VALUE "FileDescription", "@PACKAGE_STRING@ Setup"
VALUE "InternalName", "@PACKAGE_TARNAME@"
VALUE "CompanyName", "@PACKAGE_BUGREPORT@"
VALUE "LegalCopyright", "GNU General Public License"
VALUE "ProductName", "@PACKAGE_NAME@ Setup"
VALUE "ProductVersion", "@PACKAGE_VERSION@"
}
}
}

View File

@ -0,0 +1,7 @@
[Desktop Entry]
Name=psdoom Setup
Exec=pssetup
Icon=pssetup
Type=Application
Comment=Setup tool for psdoom
Categories=Settings;ConsoleOnly;

View File

@ -0,0 +1,7 @@
[Desktop Entry]
Name=@PACKAGE_NAME@ Setup
Exec=@PROGRAM_PREFIX@setup
Icon=@PROGRAM_PREFIX@setup
Type=Application
Comment=Setup tool for @PACKAGE_NAME@
Categories=Settings;ConsoleOnly;

View File

@ -0,0 +1,262 @@
static int setup_icon_w = 32;
static int setup_icon_h = 32;
static unsigned char setup_icon_data[] = {
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0xa2,0x86,0x73,
0xa9,0x8d,0x7a, 0xbc,0x9f,0x8c, 0xda,0xba,0xa0, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0xbe,0x8e,0x68, 0xd7,0xb9,0xa5, 0xeb,0xd8,0xcd, 0xd3,0xbf,0xae,
0xbe,0xa1,0x8d, 0xeb,0xd8,0xcd, 0xc2,0x9d,0x86, 0x95,0x5d,0x38,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x78,0x7a,0x77, 0x78,0x7a,0x77,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x78,0x7a,0x77, 0x78,0x7a,0x77, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x9f,0x82,0x6a,
0xc5,0x9e,0x81, 0xd1,0xb2,0x98, 0xd4,0xac,0x8e, 0xeb,0xd8,0xcd,
0xc4,0x9b,0x79, 0xad,0x71,0x45, 0xd4,0xac,0x8e, 0xb9,0x93,0x76,
0xa1,0x75,0x56, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x78,0x7a,0x77, 0x6d,0x6f,0x6c, 0xcb,0xce,0xca,
0x51,0x52,0x50, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x5b,0x5d,0x5a,
0xca,0xcc,0xc9, 0x77,0x79,0x76, 0x78,0x7a,0x77, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0xda,0xb4,0x9c, 0xd3,0xa3,0x83,
0xaf,0x91,0x78, 0xa7,0x83,0x6d, 0xc4,0xa7,0x93, 0xee,0xe2,0xd5,
0xeb,0xd8,0xcd, 0x8c,0x60,0x3d, 0x92,0x6f,0x59, 0xd0,0xa7,0x84,
0x84,0x54,0x33, 0xba,0x83,0x5b, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x78,0x7a,0x77, 0xa0,0xa2,0x9f, 0xdf,0xe1,0xde,
0x58,0x5a,0x58, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x64,0x65,0x63,
0xdd,0xdf,0xdc, 0xa8,0xaa,0xa7, 0x78,0x7a,0x77, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0xd4,0xb5,0x9b, 0xc3,0x8c,0x63, 0xc4,0x94,0x6e,
0x98,0x66,0x45, 0x78,0x50,0x2d, 0xd7,0xb9,0xa5, 0xee,0xdc,0xd1,
0xc4,0x9b,0x79, 0xb6,0x80,0x58, 0x65,0x45,0x26, 0xb6,0x79,0x4d,
0xcf,0xa5,0x83, 0x9a,0x6e,0x50, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x82,0x83,0x81, 0xbb,0xbd,0xba, 0xde,0xe0,0xdd,
0x58,0x5a,0x58, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x64,0x65,0x63,
0xdc,0xde,0xdb, 0xc4,0xc6,0xc3, 0x78,0x7a,0x77, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x9e,0x7b,0x65, 0xbc,0x8c,0x67, 0xaa,0x7d,0x5e, 0xa1,0x75,0x56,
0x89,0x5f,0x41, 0xc4,0xa7,0x93, 0xb7,0x88,0x63, 0x90,0x6c,0x51,
0x79,0x4b,0x2b, 0x8c,0x5b,0x34, 0x76,0x4e,0x31, 0x7f,0x50,0x30,
0xcf,0xa5,0x83, 0xd4,0xac,0x8e, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x77,0x79,0x76, 0xd2,0xd4,0xd1, 0xde,0xe0,0xdd,
0x64,0x65,0x63, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x68,0x69,0x67,
0xdb,0xdd,0xda, 0xda,0xdc,0xd9, 0x78,0x7a,0x77, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0xd8,0xb8,0x9e,
0xd4,0xac,0x8e, 0xc5,0x9e,0x81, 0xab,0x7e,0x5f, 0x9c,0x6f,0x4b,
0xbe,0xa1,0x8d, 0x8c,0x60,0x3d, 0x6e,0x47,0x2b, 0x87,0x5e,0x40,
0x5a,0x3b,0x23, 0x68,0x42,0x26, 0x65,0x40,0x23, 0x53,0x36,0x22,
0x7e,0x55,0x38, 0xce,0x9f,0x7e, 0xc3,0x8c,0x63, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x77,0x79,0x76, 0xe1,0xe4,0xe0, 0xe1,0xe4,0xe0,
0xc4,0xc6,0xc3, 0x83,0x85,0x82, 0x8c,0x8d,0x8a, 0xd2,0xd4,0xd1,
0xee,0xdc,0xd1, 0xe1,0xe4,0xe0, 0x78,0x7a,0x77, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0xcb,0x9a,0x74,
0xb6,0x80,0x58, 0x8c,0x60,0x3d, 0x76,0x4e,0x31, 0x88,0x57,0x31,
0x83,0x53,0x33, 0x84,0x54,0x33, 0x95,0x5d,0x38, 0x79,0x4b,0x2b,
0x5c,0x38,0x22, 0x84,0x54,0x33, 0x55,0x37,0x1e, 0x96,0x6b,0x4d,
0xb4,0x7f,0x5c, 0xba,0x83,0x5b, 0xb8,0x7b,0x4f, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x9a,0x9b,0x98, 0xd9,0xdb,0xd7,
0xe1,0xe4,0xe0, 0xde,0xe0,0xdd, 0xdd,0xdf,0xdc, 0xe0,0xe2,0xdf,
0xda,0xdc,0xd9, 0xa3,0xa5,0xa1, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0xc0,0x89,0x60,
0x89,0x5f,0x41, 0x84,0x54,0x33, 0x84,0x54,0x33, 0x8a,0x5a,0x39,
0x8f,0x5d,0x37, 0x78,0x50,0x2d, 0x8c,0x5b,0x34, 0x5a,0x3b,0x23,
0x5e,0x3f,0x27, 0x76,0x4e,0x31, 0x97,0x64,0x3d, 0x74,0x4b,0x29,
0x78,0x50,0x2d, 0x7b,0x4d,0x2c, 0xb6,0x80,0x58, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x64,0x65,0x63,
0xbe,0xc1,0xbd, 0xee,0xdc,0xd1, 0xe1,0xe4,0xe0, 0xc2,0xc4,0xc1,
0x68,0x69,0x67, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x95,0x62,0x3b,
0x84,0x54,0x33, 0x88,0x57,0x31, 0x7e,0x6e,0x64, 0xc4,0x94,0x6e,
0x76,0x4e,0x31, 0x90,0x6c,0x51, 0xa1,0x7c,0x60, 0x9a,0x6e,0x50,
0x95,0x5d,0x38, 0xbc,0x7f,0x53, 0xad,0x71,0x45, 0x76,0x4e,0x31,
0x53,0x36,0x22, 0x4b,0x2f,0x1c, 0x70,0x49,0x2c, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x51,0x52,0x50, 0xd2,0xd4,0xd1, 0xe0,0xe2,0xdf, 0x77,0x79,0x76,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x84,0x54,0x33,
0xa3,0x86,0x6e, 0xc4,0x94,0x6e, 0x88,0x64,0x44, 0xbc,0x8c,0x67,
0x9c,0x6f,0x4b, 0xa1,0x6d,0x45, 0x93,0x60,0x3a, 0xad,0x71,0x3f,
0xb4,0x7f,0x5c, 0xbc,0x8c,0x67, 0xc0,0x89,0x60, 0xb3,0x76,0x4b,
0xb8,0x7b,0x4f, 0x88,0x64,0x44, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x4a,0x4b,0x49, 0xdc,0xde,0xdb, 0xe1,0xe4,0xe0, 0x79,0x7b,0x78,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0xa7,0x83,0x6d,
0xac,0x86,0x6a, 0x76,0x4e,0x31, 0x84,0x54,0x33, 0x5c,0x38,0x22,
0x57,0x38,0x20, 0x6c,0x46,0x29, 0x95,0x62,0x3b, 0xa3,0x6e,0x41,
0xb3,0x76,0x4b, 0xb8,0x7b,0x4f, 0x9d,0x64,0x3f, 0x7e,0x4f,0x2f,
0x63,0x3e,0x27, 0x95,0x62,0x3b, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x51,0x52,0x50, 0xdd,0xdf,0xdc, 0xe0,0xe2,0xdf, 0x82,0x83,0x81,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0xb6,0x80,0x58,
0x98,0x74,0x59, 0x67,0x41,0x25, 0x4b,0x35,0x25, 0x81,0x52,0x31,
0x76,0x4e,0x31, 0x7b,0x4d,0x2c, 0x7e,0x4f,0x2f, 0x84,0x54,0x33,
0x8f,0x5d,0x37, 0x95,0x5d,0x38, 0x78,0x50,0x2d, 0x65,0x45,0x26,
0x65,0x40,0x23, 0x7e,0x4f,0x2f, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x55,0x56,0x54, 0xee,0xdc,0xd1, 0xde,0xe0,0xdd, 0x8c,0x8d,0x8a,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0xb4,0x7f,0x5c,
0x86,0x56,0x35, 0x8c,0x60,0x3d, 0x89,0x5f,0x41, 0x63,0x44,0x2b,
0x57,0x38,0x20, 0x86,0x56,0x35, 0x88,0x57,0x31, 0x95,0x5d,0x38,
0x97,0x64,0x3d, 0x63,0x3e,0x27, 0x50,0x33,0x20, 0x78,0x50,0x2d,
0x78,0x50,0x2d, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x58,0x5a,0x58, 0xe0,0xe2,0xdf, 0xde,0xe0,0xdd, 0x8c,0x8d,0x8a,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x86,0x56,0x35, 0x63,0x3e,0x27, 0xa8,0x6d,0x42, 0x50,0x33,0x20,
0x63,0x3e,0x27, 0x74,0x4b,0x29, 0x53,0x36,0x22, 0x78,0x50,0x2d,
0x42,0x30,0x14, 0x4d,0x3e,0x15, 0x4d,0x3e,0x15, 0x7c,0x5b,0x29,
0x8a,0x71,0x27, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x64,0x65,0x63, 0xe1,0xe4,0xe0, 0xe1,0xe4,0xe0, 0x91,0x93,0x90,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x6e,0x47,0x2b, 0x65,0x45,0x26, 0x5d,0x42,0x22, 0x65,0x45,0x26,
0x78,0x50,0x2d, 0x5d,0x42,0x22, 0x5e,0x3f,0x27, 0x4d,0x3e,0x15,
0x4d,0x3e,0x15, 0x67,0x58,0x21, 0x4f,0x44,0x19, 0x5f,0x51,0x19,
0x8a,0x76,0x2a, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x68,0x69,0x67, 0xdf,0xe1,0xde, 0xe0,0xe2,0xdf, 0x9a,0x9b,0x98,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x8a,0x71,0x27, 0x53,0x46,0x15,
0x53,0x46,0x15, 0x67,0x58,0x21, 0x58,0x4c,0x1b, 0x5b,0x4f,0x1d,
0x5b,0x4f,0x1d, 0x67,0x58,0x21, 0x5b,0x4f,0x1d, 0x8a,0x71,0x27,
0x8c,0x77,0x24, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x70,0x72,0x6f, 0xe1,0xe4,0xe0, 0xe1,0xe4,0xe0, 0x9a,0x9b,0x98,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0xac,0x93,0x39, 0x7e,0x66,0x23,
0x69,0x5a,0x1b, 0x6b,0x5b,0x1d, 0x67,0x58,0x21, 0x53,0x46,0x15,
0x4d,0x3e,0x15, 0x9f,0x88,0x35, 0xb7,0x9c,0x3b, 0xac,0x93,0x39,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x77,0x79,0x76, 0xdf,0xe1,0xde, 0xe0,0xe2,0xdf, 0xa3,0xa5,0xa1,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0xb1,0x97,0x36, 0x6f,0x5f,0x21,
0x7e,0x66,0x23, 0x8c,0x77,0x24, 0x84,0x70,0x24, 0x78,0x67,0x22,
0x8e,0x79,0x26, 0x8a,0x71,0x27, 0xb7,0x9c,0x3b, 0x9b,0x84,0x29,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x82,0x83,0x81, 0xe1,0xe4,0xe0, 0xe1,0xe4,0xe0, 0xa8,0xaa,0xa7,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0xac,0x93,0x39, 0x89,0x75,0x29,
0x7e,0x66,0x23, 0x75,0x64,0x1f, 0x94,0x7e,0x2b, 0x7e,0x66,0x23,
0x9f,0x88,0x35, 0xb6,0x9d,0x4a, 0xb6,0x9d,0x4a, 0xc4,0xa8,0x3f,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x82,0x83,0x81, 0xe0,0xe2,0xdf, 0xde,0xe0,0xdd, 0xab,0xad,0xaa,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x80,0x6d,0x28,
0xac,0x93,0x39, 0x97,0x82,0x36, 0xac,0x94,0x41, 0xac,0x93,0x39,
0x97,0x82,0x36, 0xa2,0x8a,0x30, 0xbd,0xa3,0x48, 0x8a,0x71,0x27,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x77,0x79,0x76, 0xe0,0xe2,0xdf, 0xd8,0xda,0xd6, 0xab,0xad,0xaa,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0xae,0x95,0x33,
0x7e,0x66,0x23, 0x9f,0x88,0x35, 0x9f,0x88,0x35, 0x7e,0x66,0x23,
0x8a,0x71,0x27, 0xaf,0x96,0x3c, 0xbd,0xa2,0x41, 0x8a,0x76,0x2a,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x68,0x69,0x67,
0xc2,0xc4,0xc1, 0xe0,0xe2,0xdf, 0xdf,0xe1,0xde, 0xbe,0xc1,0xbd,
0x5f,0x61,0x5e, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0xaf,0x96,0x3c,
0x87,0x73,0x27, 0xb2,0x99,0x3f, 0x6f,0x5f,0x21, 0xa8,0x90,0x36,
0x97,0x82,0x36, 0x9f,0x88,0x35, 0xb7,0x9c,0x3b, 0x8c,0x77,0x24,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0xa3,0xa5,0xa1, 0xeb,0xd8,0xcd,
0xe0,0xe2,0xdf, 0xee,0xdc,0xd1, 0xdf,0xe1,0xde, 0xe1,0xe4,0xe0,
0xda,0xdc,0xd9, 0x9a,0x9b,0x98, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0xb2,0x99,0x3f,
0xaf,0x96,0x3c, 0x96,0x80,0x2d, 0xbd,0xa3,0x48, 0x97,0x82,0x36,
0xb6,0x9d,0x4a, 0xb8,0xa0,0x4c, 0xc1,0xa7,0x4c, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x78,0x7a,0x77, 0xdf,0xe1,0xde, 0xe0,0xe2,0xdf,
0xd2,0xd4,0xd1, 0x8c,0x8d,0x8a, 0x82,0x83,0x81, 0xc7,0xc9,0xc6,
0xe1,0xe4,0xe0, 0xe1,0xe4,0xe0, 0x78,0x7a,0x77, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x96,0x80,0x2d, 0xb5,0x9c,0x49, 0xb2,0x99,0x3f, 0xb2,0x9a,0x47,
0xb0,0x97,0x3d, 0xc1,0xa7,0x4c, 0x96,0x80,0x2d, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x78,0x7a,0x77, 0xd9,0xdb,0xd7, 0xda,0xdc,0xd9,
0x68,0x69,0x67, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x64,0x65,0x63,
0xdd,0xdf,0xdc, 0xd2,0xd4,0xd1, 0x78,0x7a,0x77, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x9c,0x85,0x2b, 0xaa,0x91,0x2f, 0xb1,0x97,0x36, 0xa2,0x8a,0x30,
0x7e,0x66,0x23, 0xb1,0x97,0x36, 0xb4,0x99,0x30, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x79,0x7b,0x78, 0xc4,0xc6,0xc3, 0xd9,0xdb,0xd7,
0x64,0x65,0x63, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x55,0x56,0x54,
0xdf,0xe1,0xde, 0xbb,0xbd,0xba, 0x78,0x7a,0x77, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x9f,0x88,0x35, 0xb8,0x9e,0x44, 0x8a,0x71,0x27, 0xa6,0x8f,0x3c,
0xbd,0xa3,0x48, 0x96,0x80,0x2d, 0x9f,0x88,0x35, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x82,0x83,0x81, 0xa8,0xaa,0xa7, 0xdf,0xe1,0xde,
0x64,0x65,0x63, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x58,0x5a,0x58,
0xee,0xdc,0xd1, 0xa0,0xa2,0x9f, 0x78,0x7a,0x77, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0xb0,0x97,0x3d, 0xb7,0x9c,0x3b, 0xac,0x94,0x41, 0xb2,0x99,0x3f,
0xb6,0x9b,0x32, 0xb7,0x9c,0x3b, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x77,0x79,0x76, 0x77,0x79,0x76, 0xca,0xcc,0xc9,
0x5b,0x5d,0x5a, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x51,0x52,0x50,
0xcb,0xce,0xca, 0x68,0x69,0x67, 0x79,0x7b,0x78, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0xbd,0xa2,0x41, 0xa6,0x8f,0x3c, 0xb0,0x97,0x3d, 0xb2,0x9a,0x47,
0xac,0x93,0x39, 0x9f,0x88,0x35, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x77,0x79,0x76, 0x78,0x7a,0x77,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x82,0x83,0x81, 0x79,0x7b,0x78, 0x00,0x00,0x00, 0x00,0x00,0x00,
};

View File

@ -0,0 +1,178 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
// Copyright(C) 2006 Simon Howard
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
// Sound control menu
#include <stdlib.h>
#include "textscreen.h"
#include "sound.h"
typedef enum
{
SFXMODE_DISABLED,
SFXMODE_PCSPEAKER,
SFXMODE_DIGITAL,
NUM_SFXMODES
} sfxmode_t;
typedef enum
{
MUSMODE_DISABLED,
MUSMODE_OPL,
MUSMODE_NATIVE,
NUM_MUSMODES
} musmode_t;
static char *sfxmode_strings[] =
{
"Disabled",
"PC speaker",
"Digital",
};
static char *musmode_strings[] =
{
"Disabled",
"OPL (Adlib/SB)",
"Native MIDI"
};
int snd_sfxdevice = SNDDEVICE_SB;
int numChannels = 8;
int sfxVolume = 8;
int snd_musicdevice = SNDDEVICE_GENMIDI;
int musicVolume = 8;
int snd_samplerate = 44100;
int opl_io_port = 0x388;
int use_libsamplerate = 0;
static int snd_sfxmode;
static int snd_musmode;
static void UpdateSndDevices(TXT_UNCAST_ARG(widget), TXT_UNCAST_ARG(data))
{
switch (snd_sfxmode)
{
case SFXMODE_DISABLED:
snd_sfxdevice = SNDDEVICE_NONE;
break;
case SFXMODE_PCSPEAKER:
snd_sfxdevice = SNDDEVICE_PCSPEAKER;
break;
case SFXMODE_DIGITAL:
snd_sfxdevice = SNDDEVICE_SB;
break;
}
switch (snd_musmode)
{
case MUSMODE_DISABLED:
snd_musicdevice = SNDDEVICE_NONE;
break;
case MUSMODE_OPL:
snd_musicdevice = SNDDEVICE_SB;
break;
case MUSMODE_NATIVE:
snd_musicdevice = SNDDEVICE_GENMIDI;
break;
}
}
void ConfigSound(void)
{
txt_window_t *window;
txt_table_t *sfx_table;
txt_table_t *music_table;
txt_dropdown_list_t *sfx_mode_control;
txt_dropdown_list_t *mus_mode_control;
if (snd_sfxdevice == SNDDEVICE_PCSPEAKER)
{
snd_sfxmode = SFXMODE_PCSPEAKER;
}
else if (snd_sfxdevice >= SNDDEVICE_SB)
{
snd_sfxmode = SFXMODE_DIGITAL;
}
else
{
snd_sfxmode = SFXMODE_DISABLED;
}
if (snd_musicdevice == SNDDEVICE_GENMIDI)
{
snd_musmode = MUSMODE_NATIVE;
}
else if (snd_musicdevice == SNDDEVICE_SB
|| snd_musicdevice == SNDDEVICE_ADLIB
|| snd_musicdevice == SNDDEVICE_AWE32)
{
snd_musmode = MUSMODE_OPL;
}
else
{
snd_musmode = MUSMODE_DISABLED;
}
window = TXT_NewWindow("Sound configuration");
TXT_AddWidgets(window,
TXT_NewSeparator("Sound effects"),
sfx_table = TXT_NewTable(2),
TXT_NewSeparator("Music"),
music_table = TXT_NewTable(2),
NULL);
TXT_SetColumnWidths(sfx_table, 20, 14);
TXT_AddWidgets(sfx_table,
TXT_NewLabel("Sound effects"),
sfx_mode_control = TXT_NewDropdownList(&snd_sfxmode,
sfxmode_strings,
NUM_SFXMODES),
TXT_NewLabel("Sound channels"),
TXT_NewSpinControl(&numChannels, 1, 8),
TXT_NewLabel("SFX volume"),
TXT_NewSpinControl(&sfxVolume, 0, 15),
NULL);
TXT_SetColumnWidths(music_table, 20, 14);
TXT_AddWidgets(music_table,
TXT_NewLabel("Music playback"),
mus_mode_control = TXT_NewDropdownList(&snd_musmode,
musmode_strings,
NUM_MUSMODES),
TXT_NewLabel("Music volume"),
TXT_NewSpinControl(&musicVolume, 0, 15),
NULL);
TXT_SignalConnect(sfx_mode_control, "changed",
UpdateSndDevices, NULL);
TXT_SignalConnect(mus_mode_control, "changed",
UpdateSndDevices, NULL);
}

View File

@ -0,0 +1,54 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
// Copyright(C) 2006 Simon Howard
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
#ifndef SETUP_SOUND_H
#define SETUP_SOUND_H
enum
{
SNDDEVICE_NONE = 0,
SNDDEVICE_PCSPEAKER = 1,
SNDDEVICE_ADLIB = 2,
SNDDEVICE_SB = 3,
SNDDEVICE_PAS = 4,
SNDDEVICE_GUS = 5,
SNDDEVICE_WAVEBLASTER = 6,
SNDDEVICE_SOUNDCANVAS = 7,
SNDDEVICE_GENMIDI = 8,
SNDDEVICE_AWE32 = 9,
};
extern int snd_sfxdevice;
extern int numChannels;
extern int sfxVolume;
extern int snd_musicdevice;
extern int musicVolume;
extern int snd_samplerate;
extern int opl_io_port;
extern int use_libsamplerate;
void ConfigSound(void);
#endif /* #ifndef SETUP_SOUND_H */

View File

@ -0,0 +1,230 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
// Copyright(C) 2006 Simon Howard
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "SDL_joystick.h"
#include "doomkeys.h"
#include "joystick.h"
#include "txt_joybinput.h"
#include "txt_gui.h"
#include "txt_io.h"
#include "txt_label.h"
#include "txt_sdl.h"
#include "txt_window.h"
#define JOYSTICK_INPUT_WIDTH 10
// Called in response to SDL events when the prompt window is open:
static int EventCallback(SDL_Event *event, TXT_UNCAST_ARG(joystick_input))
{
TXT_CAST_ARG(txt_joystick_input_t, joystick_input);
// Got the joystick button press?
if (event->type == SDL_JOYBUTTONDOWN)
{
*joystick_input->variable = event->jbutton.button;
if (joystick_input->check_conflicts)
{
TXT_EmitSignal(joystick_input, "set");
}
TXT_CloseWindow(joystick_input->prompt_window);
return 1;
}
return 0;
}
// When the prompt window is closed, disable the event callback function;
// we are no longer interested in receiving notification of events.
static void PromptWindowClosed(TXT_UNCAST_ARG(widget), TXT_UNCAST_ARG(joystick))
{
TXT_CAST_ARG(SDL_Joystick, joystick);
SDL_JoystickClose(joystick);
TXT_SDL_SetEventCallback(NULL, NULL);
SDL_JoystickEventState(SDL_DISABLE);
SDL_QuitSubSystem(SDL_INIT_JOYSTICK);
}
static void OpenErrorWindow(void)
{
txt_window_t *window;
window = TXT_NewWindow(NULL);
TXT_AddWidget(window, TXT_NewLabel("Please configure a joystick first!"));
TXT_SetWindowAction(window, TXT_HORIZ_LEFT, NULL);
TXT_SetWindowAction(window, TXT_HORIZ_CENTER,
TXT_NewWindowEscapeAction(window));
TXT_SetWindowAction(window, TXT_HORIZ_RIGHT, NULL);
}
static void OpenPromptWindow(txt_joystick_input_t *joystick_input)
{
txt_window_t *window;
txt_label_t *label;
SDL_Joystick *joystick;
// Silently update when the shift button is held down.
joystick_input->check_conflicts = !TXT_GetModifierState(TXT_MOD_SHIFT);
if (SDL_Init(SDL_INIT_JOYSTICK) < 0)
{
return;
}
// Check the current joystick is valid
joystick = SDL_JoystickOpen(joystick_index);
if (joystick == NULL)
{
OpenErrorWindow();
return;
}
// Open the prompt window
window = TXT_NewWindow(NULL);
TXT_SetWindowAction(window, TXT_HORIZ_LEFT, NULL);
TXT_SetWindowAction(window, TXT_HORIZ_CENTER,
TXT_NewWindowAbortAction(window));
TXT_SetWindowAction(window, TXT_HORIZ_RIGHT, NULL);
label = TXT_NewLabel("Press the new joystick button...");
TXT_AddWidget(window, label);
TXT_SetWidgetAlign(label, TXT_HORIZ_CENTER);
TXT_SDL_SetEventCallback(EventCallback, joystick_input);
TXT_SignalConnect(window, "closed", PromptWindowClosed, joystick);
joystick_input->prompt_window = window;
SDL_JoystickEventState(SDL_ENABLE);
}
static void TXT_JoystickInputSizeCalc(TXT_UNCAST_ARG(joystick_input))
{
TXT_CAST_ARG(txt_joystick_input_t, joystick_input);
// All joystickinputs are the same size.
joystick_input->widget.w = JOYSTICK_INPUT_WIDTH;
joystick_input->widget.h = 1;
}
static void GetJoystickButtonDescription(int button, char *buf)
{
sprintf(buf, "BUTTON #%i", button + 1);
}
static void TXT_JoystickInputDrawer(TXT_UNCAST_ARG(joystick_input), int selected)
{
TXT_CAST_ARG(txt_joystick_input_t, joystick_input);
char buf[20];
int i;
if (*joystick_input->variable < 0)
{
strcpy(buf, "(none)");
}
else
{
GetJoystickButtonDescription(*joystick_input->variable, buf);
}
TXT_SetWidgetBG(joystick_input, selected);
TXT_FGColor(TXT_COLOR_BRIGHT_WHITE);
TXT_DrawString(buf);
for (i=strlen(buf); i<JOYSTICK_INPUT_WIDTH; ++i)
{
TXT_DrawString(" ");
}
}
static void TXT_JoystickInputDestructor(TXT_UNCAST_ARG(joystick_input))
{
}
static int TXT_JoystickInputKeyPress(TXT_UNCAST_ARG(joystick_input), int joystick)
{
TXT_CAST_ARG(txt_joystick_input_t, joystick_input);
if (joystick == KEY_ENTER)
{
// Open a window to prompt for the new joystick press
OpenPromptWindow(joystick_input);
return 1;
}
return 0;
}
static void TXT_JoystickInputMousePress(TXT_UNCAST_ARG(widget), int x, int y, int b)
{
TXT_CAST_ARG(txt_joystick_input_t, widget);
// Clicking is like pressing enter
if (b == TXT_MOUSE_LEFT)
{
TXT_JoystickInputKeyPress(widget, KEY_ENTER);
}
}
txt_widget_class_t txt_joystick_input_class =
{
TXT_AlwaysSelectable,
TXT_JoystickInputSizeCalc,
TXT_JoystickInputDrawer,
TXT_JoystickInputKeyPress,
TXT_JoystickInputDestructor,
TXT_JoystickInputMousePress,
NULL,
};
txt_joystick_input_t *TXT_NewJoystickInput(int *variable)
{
txt_joystick_input_t *joystick_input;
joystick_input = malloc(sizeof(txt_joystick_input_t));
TXT_InitWidget(joystick_input, &txt_joystick_input_class);
joystick_input->variable = variable;
return joystick_input;
}

View File

@ -0,0 +1,47 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
// Copyright(C) 2007 Simon Howard
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
#ifndef TXT_JOYB_INPUT_H
#define TXT_JOYB_INPUT_H
typedef struct txt_joystick_input_s txt_joystick_input_t;
#include "txt_widget.h"
#include "txt_window.h"
//
// A joystick input is like an input box. When selected, a box pops up
// allowing a joystick button to be pressed to select it.
//
struct txt_joystick_input_s
{
txt_widget_t widget;
int *variable;
txt_window_t *prompt_window;
int check_conflicts;
};
txt_joystick_input_t *TXT_NewJoystickInput(int *variable);
#endif /* #ifndef TXT_JOYB_INPUT_H */

View File

@ -0,0 +1,195 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
// Copyright(C) 2006 Simon Howard
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
#include <stdlib.h>
#include <string.h>
#include "doomkeys.h"
#include "txt_keyinput.h"
#include "txt_gui.h"
#include "txt_io.h"
#include "txt_label.h"
#include "txt_window.h"
#define KEY_INPUT_WIDTH 8
static int KeyPressCallback(txt_window_t *window, int key,
TXT_UNCAST_ARG(key_input))
{
TXT_CAST_ARG(txt_key_input_t, key_input);
if (key != KEY_ESCAPE)
{
// Got the key press. Save to the variable and close the window.
*key_input->variable = key;
if (key_input->check_conflicts)
{
TXT_EmitSignal(key_input, "set");
}
TXT_CloseWindow(window);
// Re-enable key mappings now that we have the key
TXT_EnableKeyMapping(1);
return 1;
}
else
{
return 0;
}
}
static void ReleaseGrab(TXT_UNCAST_ARG(window), TXT_UNCAST_ARG(unused))
{
SDL_WM_GrabInput(SDL_GRAB_OFF);
}
static void OpenPromptWindow(txt_key_input_t *key_input)
{
txt_window_t *window;
txt_label_t *label;
// Silently update when the shift button is held down.
key_input->check_conflicts = !TXT_GetModifierState(TXT_MOD_SHIFT);
window = TXT_NewWindow(NULL);
TXT_SetWindowAction(window, TXT_HORIZ_LEFT, NULL);
TXT_SetWindowAction(window, TXT_HORIZ_CENTER,
TXT_NewWindowAbortAction(window));
TXT_SetWindowAction(window, TXT_HORIZ_RIGHT, NULL);
label = TXT_NewLabel("Press the new key...");
TXT_AddWidget(window, label);
TXT_SetWidgetAlign(label, TXT_HORIZ_CENTER);
TXT_SetKeyListener(window, KeyPressCallback, key_input);
// Disable key mappings while we prompt for the key press
TXT_EnableKeyMapping(0);
// Grab input while reading the key. On Windows Mobile
// handheld devices, the hardware keypresses are only
// detected when input is grabbed.
SDL_WM_GrabInput(SDL_GRAB_ON);
TXT_SignalConnect(window, "closed", ReleaseGrab, NULL);
}
static void TXT_KeyInputSizeCalc(TXT_UNCAST_ARG(key_input))
{
TXT_CAST_ARG(txt_key_input_t, key_input);
// All keyinputs are the same size.
key_input->widget.w = KEY_INPUT_WIDTH;
key_input->widget.h = 1;
}
static void TXT_KeyInputDrawer(TXT_UNCAST_ARG(key_input), int selected)
{
TXT_CAST_ARG(txt_key_input_t, key_input);
char buf[20];
int i;
if (*key_input->variable == 0)
{
strcpy(buf, "(none)");
}
else
{
TXT_GetKeyDescription(*key_input->variable, buf);
}
TXT_SetWidgetBG(key_input, selected);
TXT_FGColor(TXT_COLOR_BRIGHT_WHITE);
TXT_DrawString(buf);
for (i=strlen(buf); i<KEY_INPUT_WIDTH; ++i)
{
TXT_DrawString(" ");
}
}
static void TXT_KeyInputDestructor(TXT_UNCAST_ARG(key_input))
{
}
static int TXT_KeyInputKeyPress(TXT_UNCAST_ARG(key_input), int key)
{
TXT_CAST_ARG(txt_key_input_t, key_input);
if (key == KEY_ENTER)
{
// Open a window to prompt for the new key press
OpenPromptWindow(key_input);
return 1;
}
return 0;
}
static void TXT_KeyInputMousePress(TXT_UNCAST_ARG(widget), int x, int y, int b)
{
TXT_CAST_ARG(txt_key_input_t, widget);
// Clicking is like pressing enter
if (b == TXT_MOUSE_LEFT)
{
TXT_KeyInputKeyPress(widget, KEY_ENTER);
}
}
txt_widget_class_t txt_key_input_class =
{
TXT_AlwaysSelectable,
TXT_KeyInputSizeCalc,
TXT_KeyInputDrawer,
TXT_KeyInputKeyPress,
TXT_KeyInputDestructor,
TXT_KeyInputMousePress,
NULL,
};
txt_key_input_t *TXT_NewKeyInput(int *variable)
{
txt_key_input_t *key_input;
key_input = malloc(sizeof(txt_key_input_t));
TXT_InitWidget(key_input, &txt_key_input_class);
key_input->variable = variable;
return key_input;
}

View File

@ -0,0 +1,45 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
// Copyright(C) 2006 Simon Howard
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
#ifndef TXT_KEY_INPUT_H
#define TXT_KEY_INPUT_H
typedef struct txt_key_input_s txt_key_input_t;
#include "txt_widget.h"
//
// A key input is like an input box. When selected, a box pops up
// allowing a key to be selected.
//
struct txt_key_input_s
{
txt_widget_t widget;
int *variable;
int check_conflicts;
};
txt_key_input_t *TXT_NewKeyInput(int *variable);
#endif /* #ifndef TXT_KEY_INPUT_H */

View File

@ -0,0 +1,187 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
// Copyright(C) 2006 Simon Howard
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "doomkeys.h"
#include "txt_mouseinput.h"
#include "txt_gui.h"
#include "txt_io.h"
#include "txt_label.h"
#include "txt_window.h"
#define MOUSE_INPUT_WIDTH 8
static int MousePressCallback(txt_window_t *window,
int x, int y, int b,
TXT_UNCAST_ARG(mouse_input))
{
TXT_CAST_ARG(txt_mouse_input_t, mouse_input);
// Got the mouse press. Save to the variable and close the window.
*mouse_input->variable = b - TXT_MOUSE_BASE;
if (mouse_input->check_conflicts)
{
TXT_EmitSignal(mouse_input, "set");
}
TXT_CloseWindow(window);
return 1;
}
static void OpenPromptWindow(txt_mouse_input_t *mouse_input)
{
txt_window_t *window;
txt_label_t *label;
// Silently update when the shift key is held down.
mouse_input->check_conflicts = !TXT_GetModifierState(TXT_MOD_SHIFT);
window = TXT_NewWindow(NULL);
TXT_SetWindowAction(window, TXT_HORIZ_LEFT, NULL);
TXT_SetWindowAction(window, TXT_HORIZ_CENTER,
TXT_NewWindowAbortAction(window));
TXT_SetWindowAction(window, TXT_HORIZ_RIGHT, NULL);
label = TXT_NewLabel("Press the new mouse button...");
TXT_AddWidget(window, label);
TXT_SetWidgetAlign(label, TXT_HORIZ_CENTER);
TXT_SetMouseListener(window, MousePressCallback, mouse_input);
}
static void TXT_MouseInputSizeCalc(TXT_UNCAST_ARG(mouse_input))
{
TXT_CAST_ARG(txt_mouse_input_t, mouse_input);
// All mouseinputs are the same size.
mouse_input->widget.w = MOUSE_INPUT_WIDTH;
mouse_input->widget.h = 1;
}
static void GetMouseButtonDescription(int button, char *buf)
{
switch (button)
{
case 0:
strcpy(buf, "LEFT");
break;
case 1:
strcpy(buf, "RIGHT");
break;
case 2:
strcpy(buf, "MID");
break;
default:
sprintf(buf, "BUTTON #%i", button + 1);
break;
}
}
static void TXT_MouseInputDrawer(TXT_UNCAST_ARG(mouse_input), int selected)
{
TXT_CAST_ARG(txt_mouse_input_t, mouse_input);
char buf[20];
int i;
if (*mouse_input->variable < 0)
{
strcpy(buf, "(none)");
}
else
{
GetMouseButtonDescription(*mouse_input->variable, buf);
}
TXT_SetWidgetBG(mouse_input, selected);
TXT_FGColor(TXT_COLOR_BRIGHT_WHITE);
TXT_DrawString(buf);
for (i=strlen(buf); i<MOUSE_INPUT_WIDTH; ++i)
{
TXT_DrawString(" ");
}
}
static void TXT_MouseInputDestructor(TXT_UNCAST_ARG(mouse_input))
{
}
static int TXT_MouseInputKeyPress(TXT_UNCAST_ARG(mouse_input), int mouse)
{
TXT_CAST_ARG(txt_mouse_input_t, mouse_input);
if (mouse == KEY_ENTER)
{
// Open a window to prompt for the new mouse press
OpenPromptWindow(mouse_input);
return 1;
}
return 0;
}
static void TXT_MouseInputMousePress(TXT_UNCAST_ARG(widget), int x, int y, int b)
{
TXT_CAST_ARG(txt_mouse_input_t, widget);
// Clicking is like pressing enter
if (b == TXT_MOUSE_LEFT)
{
TXT_MouseInputKeyPress(widget, KEY_ENTER);
}
}
txt_widget_class_t txt_mouse_input_class =
{
TXT_AlwaysSelectable,
TXT_MouseInputSizeCalc,
TXT_MouseInputDrawer,
TXT_MouseInputKeyPress,
TXT_MouseInputDestructor,
TXT_MouseInputMousePress,
NULL,
};
txt_mouse_input_t *TXT_NewMouseInput(int *variable)
{
txt_mouse_input_t *mouse_input;
mouse_input = malloc(sizeof(txt_mouse_input_t));
TXT_InitWidget(mouse_input, &txt_mouse_input_class);
mouse_input->variable = variable;
return mouse_input;
}

View File

@ -0,0 +1,45 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
// Copyright(C) 2006 Simon Howard
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
#ifndef TXT_MOUSE_INPUT_H
#define TXT_MOUSE_INPUT_H
typedef struct txt_mouse_input_s txt_mouse_input_t;
#include "txt_widget.h"
//
// A mouse input is like an input box. When selected, a box pops up
// allowing a mouse to be selected.
//
struct txt_mouse_input_s
{
txt_widget_t widget;
int *variable;
int check_conflicts;
};
txt_mouse_input_t *TXT_NewMouseInput(int *variable);
#endif /* #ifndef TXT_MOUSE_INPUT_H */