[Armadeus-commitlog] armadeus branch, master, updated. release-3.2-411-g281d8e6
Brought to you by:
sszy
|
From: Julien B a. A. <ar...@us...> - 2010-06-07 15:05:22
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 281d8e6b63a7bf2bf2dccd8388e211f446ac4c9b (commit)
from 1026324a201bad25e1e3502d9052f918d0ea3062 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 281d8e6b63a7bf2bf2dccd8388e211f446ac4c9b
Author: Julien Boibessot <jul...@ar...>
Date: Mon Jun 7 16:57:31 2010 +0200
[BUILDROOT] wolf3d: remove old unsupported version and replace it with wolf4SDL
-----------------------------------------------------------------------
Summary of changes:
patches/buildroot/107-games-add_wolf4sdl.patch | 91 +
.../buildroot/2010.02/107-games-add_wolf4sdl.patch | 91 +
patches/buildroot/2010.02/cleanup_buildroot.sh | 1 +
patches/buildroot/cleanup_buildroot.sh | 1 +
target/demos/wolfenstein3d/BUGS.txt | 30 -
target/demos/wolfenstein3d/IDEAS | 22 -
target/demos/wolfenstein3d/Makefile | 69 -
target/demos/wolfenstein3d/NOTES | 71 -
target/demos/wolfenstein3d/README | 74 -
target/demos/wolfenstein3d/TODO | 137 -
target/demos/wolfenstein3d/audiosod.h | 122 -
target/demos/wolfenstein3d/audiowl6.h | 137 -
target/demos/wolfenstein3d/docs/goodstuf.txt | 56 -
target/demos/wolfenstein3d/docs/release.txt | 53 -
target/demos/wolfenstein3d/fmopl.c | 1026 ------
target/demos/wolfenstein3d/fmopl.h | 108 -
target/demos/wolfenstein3d/foreign.h | 148 -
target/demos/wolfenstein3d/gfxv_sdm.h | 197 --
target/demos/wolfenstein3d/gfxv_sod.h | 248 --
target/demos/wolfenstein3d/gfxv_wl1.h | 194 --
target/demos/wolfenstein3d/gfxv_wl6.h | 189 --
target/demos/wolfenstein3d/id_ca.c | 867 -----
target/demos/wolfenstein3d/id_ca.h | 78 -
target/demos/wolfenstein3d/id_heads.h | 92 -
target/demos/wolfenstein3d/id_us.c | 499 ---
target/demos/wolfenstein3d/id_us.h | 44 -
target/demos/wolfenstein3d/id_vh.c | 415 ---
target/demos/wolfenstein3d/id_vh.h | 56 -
target/demos/wolfenstein3d/misc.c | 320 --
target/demos/wolfenstein3d/misc.h | 63 -
target/demos/wolfenstein3d/objs.c | 151 -
target/demos/wolfenstein3d/sd_comm.c | 124 -
target/demos/wolfenstein3d/sd_comm.h | 44 -
target/demos/wolfenstein3d/sd_null.c | 139 -
target/demos/wolfenstein3d/sd_oss.c | 634 ----
target/demos/wolfenstein3d/version.h | 56 -
target/demos/wolfenstein3d/vi_comm.c | 457 ---
target/demos/wolfenstein3d/vi_comm.h | 175 -
target/demos/wolfenstein3d/vi_sdl.c | 421 ---
target/demos/wolfenstein3d/wl_act1.c | 874 -----
target/demos/wolfenstein3d/wl_act2.c | 2515 ---------------
target/demos/wolfenstein3d/wl_act3.c | 638 ----
target/demos/wolfenstein3d/wl_act3.h | 622 ----
target/demos/wolfenstein3d/wl_agent.c | 1327 --------
target/demos/wolfenstein3d/wl_debug.c | 235 --
target/demos/wolfenstein3d/wl_def.h | 1008 ------
target/demos/wolfenstein3d/wl_draw.c | 1348 --------
target/demos/wolfenstein3d/wl_game.c | 1227 -------
target/demos/wolfenstein3d/wl_inter.c | 1094 -------
target/demos/wolfenstein3d/wl_main.c | 1293 --------
target/demos/wolfenstein3d/wl_menu.c | 3392 --------------------
target/demos/wolfenstein3d/wl_menu.h | 226 --
target/demos/wolfenstein3d/wl_play.c | 1264 --------
target/demos/wolfenstein3d/wl_state.c | 1402 --------
target/demos/wolfenstein3d/wl_text.c | 702 ----
55 files changed, 184 insertions(+), 26683 deletions(-)
create mode 100644 patches/buildroot/107-games-add_wolf4sdl.patch
create mode 100644 patches/buildroot/2010.02/107-games-add_wolf4sdl.patch
delete mode 100644 target/demos/wolfenstein3d/BUGS.txt
delete mode 100644 target/demos/wolfenstein3d/IDEAS
delete mode 100644 target/demos/wolfenstein3d/Makefile
delete mode 100644 target/demos/wolfenstein3d/NOTES
delete mode 100644 target/demos/wolfenstein3d/README
delete mode 100644 target/demos/wolfenstein3d/TODO
delete mode 100644 target/demos/wolfenstein3d/audiosod.h
delete mode 100644 target/demos/wolfenstein3d/audiowl6.h
delete mode 100644 target/demos/wolfenstein3d/docs/goodstuf.txt
delete mode 100644 target/demos/wolfenstein3d/docs/release.txt
delete mode 100644 target/demos/wolfenstein3d/fmopl.c
delete mode 100644 target/demos/wolfenstein3d/fmopl.h
delete mode 100644 target/demos/wolfenstein3d/foreign.h
delete mode 100644 target/demos/wolfenstein3d/gfxv_sdm.h
delete mode 100644 target/demos/wolfenstein3d/gfxv_sod.h
delete mode 100644 target/demos/wolfenstein3d/gfxv_wl1.h
delete mode 100644 target/demos/wolfenstein3d/gfxv_wl6.h
delete mode 100644 target/demos/wolfenstein3d/id_ca.c
delete mode 100644 target/demos/wolfenstein3d/id_ca.h
delete mode 100644 target/demos/wolfenstein3d/id_heads.h
delete mode 100644 target/demos/wolfenstein3d/id_us.c
delete mode 100644 target/demos/wolfenstein3d/id_us.h
delete mode 100644 target/demos/wolfenstein3d/id_vh.c
delete mode 100644 target/demos/wolfenstein3d/id_vh.h
delete mode 100644 target/demos/wolfenstein3d/misc.c
delete mode 100644 target/demos/wolfenstein3d/misc.h
delete mode 100644 target/demos/wolfenstein3d/objs.c
delete mode 100644 target/demos/wolfenstein3d/sd_comm.c
delete mode 100644 target/demos/wolfenstein3d/sd_comm.h
delete mode 100644 target/demos/wolfenstein3d/sd_null.c
delete mode 100644 target/demos/wolfenstein3d/sd_oss.c
delete mode 100644 target/demos/wolfenstein3d/version.h
delete mode 100644 target/demos/wolfenstein3d/vi_comm.c
delete mode 100644 target/demos/wolfenstein3d/vi_comm.h
delete mode 100644 target/demos/wolfenstein3d/vi_sdl.c
delete mode 100644 target/demos/wolfenstein3d/wl_act1.c
delete mode 100644 target/demos/wolfenstein3d/wl_act2.c
delete mode 100644 target/demos/wolfenstein3d/wl_act3.c
delete mode 100644 target/demos/wolfenstein3d/wl_act3.h
delete mode 100644 target/demos/wolfenstein3d/wl_agent.c
delete mode 100644 target/demos/wolfenstein3d/wl_debug.c
delete mode 100644 target/demos/wolfenstein3d/wl_def.h
delete mode 100644 target/demos/wolfenstein3d/wl_draw.c
delete mode 100644 target/demos/wolfenstein3d/wl_game.c
delete mode 100644 target/demos/wolfenstein3d/wl_inter.c
delete mode 100644 target/demos/wolfenstein3d/wl_main.c
delete mode 100644 target/demos/wolfenstein3d/wl_menu.c
delete mode 100644 target/demos/wolfenstein3d/wl_menu.h
delete mode 100644 target/demos/wolfenstein3d/wl_play.c
delete mode 100644 target/demos/wolfenstein3d/wl_state.c
delete mode 100644 target/demos/wolfenstein3d/wl_text.c
diff --git a/patches/buildroot/107-games-add_wolf4sdl.patch b/patches/buildroot/107-games-add_wolf4sdl.patch
new file mode 100644
index 0000000..6b7e12d
--- /dev/null
+++ b/patches/buildroot/107-games-add_wolf4sdl.patch
@@ -0,0 +1,91 @@
+Add Wolf4SDL to BR.
+
+Signed-off-by: Julien Boibessot <jul...@ar...>
+
+Index: buildroot/package/games/wolf4sdl/Config.in
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ buildroot/package/games/wolf4sdl/Config.in 2010-06-07 16:17:18.000000000 +0200
+@@ -0,0 +1,11 @@
++config BR2_PACKAGE_WOLF4SDL
++ bool "Wolf4SDL"
++ select BR2_PACKAGE_SDL
++ select BR2_PACKAGE_SDL_MIXER
++ help
++ Wolf4SDL is an open-source port of id Software's classic first-person
++ shooter Wolfenstein 3D to the cross-plattform multimedia library
++ "Simple DirectMedia Layer (SDL)". It is meant to keep the original
++ feel while taking advantage of some improvements (see README).
++
++ http://www.stud.uni-karlsruhe.de/~uvaue/chaos/main.html
+Index: buildroot/package/games/wolf4sdl/wolf4sdl.mk
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ buildroot/package/games/wolf4sdl/wolf4sdl.mk 2010-06-07 16:36:19.000000000 +0200
+@@ -0,0 +1,55 @@
++#############################################################
++#
++# Wolf4SDL
++#
++#############################################################
++WOLF4SDL_VERSION:=1.6
++WOLF4SDL_SOURCE = Wolf4SDL-$(WOLF4SDL_VERSION)-src.zip
++WOLF4SDL_SITE = http://www.stud.uni-karlsruhe.de/~uvaue/chaos/bins/
++WOLF4SDL_TARGET_BIN:=/usr/local/bin/wolf3d
++WOLF4SDL_DIR:=$(BUILD_DIR)/Wolf4SDL-$(WOLF4SDL_VERSION)-src
++
++#WOLF4SDL_INSTALL_STAGING = NO
++#WOLF4SDL_INSTALL_TARGET = YES
++#WOLF4SDL_DEPENDENCIES = sdl sdl_mixer
++#$(eval $(call AUTOTARGETS,package/games,wolf4sdl))
++
++$(DL_DIR)/$(WOLF4SDL_SOURCE):
++ $(WGET) -P $(DL_DIR) $(WOLF4SDL_SITE)/$(WOLF4SDL_SOURCE)
++
++wolf4sdl-source: $(DL_DIR)/$(WOLF4SDL_SOURCE)
++
++$(WOLF4SDL_DIR)/.unpacked: $(DL_DIR)/$(WOLF4SDL_SOURCE)
++ unzip $(DL_DIR)/$(WOLF4SDL_SOURCE) -d $(BUILD_DIR)
++# mv $(BUILD_DIR)/Wolf4SDL-$(WOLF4SDL_VERSION)-src/* $(WOLF4SDL_DIR)
++# rm -rf $(BUILD_DIR)/Wolf4SDL-$(WOLF4SDL_VERSION)-src
++ touch $@
++
++$(WOLF4SDL_DIR)/wolf3d: $(WOLF4SDL_DIR)/.unpacked
++ $(MAKE) CC=$(TARGET_CC) CXX=$(TARGET_CXX) PREFIX=$(TARGET_DIR)/usr/local \
++ SDL_CONFIG=$(STAGING_DIR)/usr/bin/sdl-config \
++ -C $(WOLF4SDL_DIR)
++
++$(TARGET_DIR)/$(WOLF4SDL_TARGET_BIN): $(WOLF4SDL_DIR)/wolf3d
++ $(MAKE) PREFIX=$(TARGET_DIR)/usr/local \
++ INSTALL=$(INSTALL) \
++ INSTALL_PROGRAM="$(INSTALL) -m 775" \
++ install -C $(WOLF4SDL_DIR)
++ $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/$(WOLF4SDL_TARGET_BIN)
++
++WOLF4SDL wolf4sdl: sdl sdl_mixer $(TARGET_DIR)/$(WOLF4SDL_TARGET_BIN)
++
++wolf4sdl-clean:
++ -$(MAKE) -C $(WOLF4SDL_DIR) clean
++
++wolf4sdl-dirclean:
++ rm -rf $(WOLF4SDL_DIR)
++
++#############################################################
++#
++# Toplevel Makefile options
++#
++#############################################################
++ifeq ($(strip $(BR2_PACKAGE_WOLF4SDL)),y)
++TARGETS+=wolf4sdl
++endif
+Index: buildroot/package/games/Config.in
+===================================================================
+--- buildroot.orig/package/games/Config.in 2010-06-07 16:15:27.000000000 +0200
++++ buildroot/package/games/Config.in 2010-06-07 16:18:33.000000000 +0200
+@@ -15,5 +15,6 @@
+ source "package/games/rubix/Config.in"
+ source "package/games/sdlquake/Config.in"
+ source "package/games/vice/Config.in"
++source "package/games/wolf4sdl/Config.in"
+ source "package/games/xboard/Config.in"
+ endif
diff --git a/patches/buildroot/2010.02/107-games-add_wolf4sdl.patch b/patches/buildroot/2010.02/107-games-add_wolf4sdl.patch
new file mode 100644
index 0000000..6b7e12d
--- /dev/null
+++ b/patches/buildroot/2010.02/107-games-add_wolf4sdl.patch
@@ -0,0 +1,91 @@
+Add Wolf4SDL to BR.
+
+Signed-off-by: Julien Boibessot <jul...@ar...>
+
+Index: buildroot/package/games/wolf4sdl/Config.in
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ buildroot/package/games/wolf4sdl/Config.in 2010-06-07 16:17:18.000000000 +0200
+@@ -0,0 +1,11 @@
++config BR2_PACKAGE_WOLF4SDL
++ bool "Wolf4SDL"
++ select BR2_PACKAGE_SDL
++ select BR2_PACKAGE_SDL_MIXER
++ help
++ Wolf4SDL is an open-source port of id Software's classic first-person
++ shooter Wolfenstein 3D to the cross-plattform multimedia library
++ "Simple DirectMedia Layer (SDL)". It is meant to keep the original
++ feel while taking advantage of some improvements (see README).
++
++ http://www.stud.uni-karlsruhe.de/~uvaue/chaos/main.html
+Index: buildroot/package/games/wolf4sdl/wolf4sdl.mk
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ buildroot/package/games/wolf4sdl/wolf4sdl.mk 2010-06-07 16:36:19.000000000 +0200
+@@ -0,0 +1,55 @@
++#############################################################
++#
++# Wolf4SDL
++#
++#############################################################
++WOLF4SDL_VERSION:=1.6
++WOLF4SDL_SOURCE = Wolf4SDL-$(WOLF4SDL_VERSION)-src.zip
++WOLF4SDL_SITE = http://www.stud.uni-karlsruhe.de/~uvaue/chaos/bins/
++WOLF4SDL_TARGET_BIN:=/usr/local/bin/wolf3d
++WOLF4SDL_DIR:=$(BUILD_DIR)/Wolf4SDL-$(WOLF4SDL_VERSION)-src
++
++#WOLF4SDL_INSTALL_STAGING = NO
++#WOLF4SDL_INSTALL_TARGET = YES
++#WOLF4SDL_DEPENDENCIES = sdl sdl_mixer
++#$(eval $(call AUTOTARGETS,package/games,wolf4sdl))
++
++$(DL_DIR)/$(WOLF4SDL_SOURCE):
++ $(WGET) -P $(DL_DIR) $(WOLF4SDL_SITE)/$(WOLF4SDL_SOURCE)
++
++wolf4sdl-source: $(DL_DIR)/$(WOLF4SDL_SOURCE)
++
++$(WOLF4SDL_DIR)/.unpacked: $(DL_DIR)/$(WOLF4SDL_SOURCE)
++ unzip $(DL_DIR)/$(WOLF4SDL_SOURCE) -d $(BUILD_DIR)
++# mv $(BUILD_DIR)/Wolf4SDL-$(WOLF4SDL_VERSION)-src/* $(WOLF4SDL_DIR)
++# rm -rf $(BUILD_DIR)/Wolf4SDL-$(WOLF4SDL_VERSION)-src
++ touch $@
++
++$(WOLF4SDL_DIR)/wolf3d: $(WOLF4SDL_DIR)/.unpacked
++ $(MAKE) CC=$(TARGET_CC) CXX=$(TARGET_CXX) PREFIX=$(TARGET_DIR)/usr/local \
++ SDL_CONFIG=$(STAGING_DIR)/usr/bin/sdl-config \
++ -C $(WOLF4SDL_DIR)
++
++$(TARGET_DIR)/$(WOLF4SDL_TARGET_BIN): $(WOLF4SDL_DIR)/wolf3d
++ $(MAKE) PREFIX=$(TARGET_DIR)/usr/local \
++ INSTALL=$(INSTALL) \
++ INSTALL_PROGRAM="$(INSTALL) -m 775" \
++ install -C $(WOLF4SDL_DIR)
++ $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/$(WOLF4SDL_TARGET_BIN)
++
++WOLF4SDL wolf4sdl: sdl sdl_mixer $(TARGET_DIR)/$(WOLF4SDL_TARGET_BIN)
++
++wolf4sdl-clean:
++ -$(MAKE) -C $(WOLF4SDL_DIR) clean
++
++wolf4sdl-dirclean:
++ rm -rf $(WOLF4SDL_DIR)
++
++#############################################################
++#
++# Toplevel Makefile options
++#
++#############################################################
++ifeq ($(strip $(BR2_PACKAGE_WOLF4SDL)),y)
++TARGETS+=wolf4sdl
++endif
+Index: buildroot/package/games/Config.in
+===================================================================
+--- buildroot.orig/package/games/Config.in 2010-06-07 16:15:27.000000000 +0200
++++ buildroot/package/games/Config.in 2010-06-07 16:18:33.000000000 +0200
+@@ -15,5 +15,6 @@
+ source "package/games/rubix/Config.in"
+ source "package/games/sdlquake/Config.in"
+ source "package/games/vice/Config.in"
++source "package/games/wolf4sdl/Config.in"
+ source "package/games/xboard/Config.in"
+ endif
diff --git a/patches/buildroot/2010.02/cleanup_buildroot.sh b/patches/buildroot/2010.02/cleanup_buildroot.sh
index 8d6bf15..659f014 100755
--- a/patches/buildroot/2010.02/cleanup_buildroot.sh
+++ b/patches/buildroot/2010.02/cleanup_buildroot.sh
@@ -19,3 +19,4 @@ rm -f buildroot/package/busybox/busybox-1.15.3-speed_table-B921600.patch
rm -rf buildroot/package/firmware/
rm -f buildroot/toolchain/gcc/4.2.1/999-4.2.1-armeabi-aapcs-linux.patch
rm -f buildroot/toolchain/gcc/4.2.4/999-4.2.4-armeabi-aapcs-linux.patch
+rm -rf buildroot/package/games/wolf4sdl/
diff --git a/patches/buildroot/cleanup_buildroot.sh b/patches/buildroot/cleanup_buildroot.sh
index 023b3a8..9d02929 100755
--- a/patches/buildroot/cleanup_buildroot.sh
+++ b/patches/buildroot/cleanup_buildroot.sh
@@ -22,3 +22,4 @@ rm -f buildroot/package/strace/strace-arm-eabi-fix.patch
rm -f buildroot/package/strace/strace-arm-no-cachectl.patch
rm -f buildroot/toolchain/gcc/4.2.1/999-4.2.1-armeabi-aapcs-linux.patch
rm -f buildroot/toolchain/gcc/4.2.4/999-4.2.4-armeabi-aapcs-linux.patch
+rm -rf buildroot/package/games/wolf4sdl/
diff --git a/target/demos/wolfenstein3d/BUGS.txt b/target/demos/wolfenstein3d/BUGS.txt
deleted file mode 100644
index e98e387..0000000
--- a/target/demos/wolfenstein3d/BUGS.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-LIST OF BUGS on Armadeus Project port:
---------------------------------------
-
-1]-----------
-
-When shooting, player can't stop and when no more ammunition game exits with an error.
-When provocating a SegFault instead of an error, here is the backtrace:
-
-Core was generated by `../sdlwolf3d'.
-Program terminated with signal 11, Segmentation fault.
-#0 0x0000b6c0 in PML_ReadFromFile (buf=0xb6bb8 "", offset=0, length=0)
- at id_ca.c:767
-767 id_ca.c: No such file or directory.
- in id_ca.c
-(gdb) bt
-#0 0x0000b6c0 in PML_ReadFromFile (buf=0xb6bb8 "", offset=0, length=0)
- at id_ca.c:767
-#1 0x0000ba60 in PM_GetPage (pagenum=636) at id_ca.c:832
-#2 0x0002d4c0 in DeCompileSprite (shapenum=530) at wl_draw.c:768
-#3 0x0002d7ec in SimpleScaleShape (xcenter=120, shapenum=530, height=121)
- at wl_draw.c:825
-#4 0x0002c6b8 in DrawPlayerWeapon () at wl_draw.c:419
-#5 0x0002d030 in ThreeDRefresh () at wl_draw.c:673
-#6 0x00022894 in PlayLoop () at wl_play.c:1218
-#7 0x00018364 in GameLoop () at wl_game.c:1067
-#8 0x0002a1c8 in DemoLoop () at wl_main.c:1253
-#9 0x0002a298 in WolfMain (argc=1, argv=0xbe8efdc4) at wl_main.c:1288
-#10 0x0002ea40 in main (argc=1, argv=0xbe8efdc4) at vi_sdl.c:14
-
-Bug doesn't occur when game is compiled for PC
\ No newline at end of file
diff --git a/target/demos/wolfenstein3d/IDEAS b/target/demos/wolfenstein3d/IDEAS
deleted file mode 100644
index 6dd9f2b..0000000
--- a/target/demos/wolfenstein3d/IDEAS
+++ /dev/null
@@ -1,22 +0,0 @@
-* One binary, any game type.
-* A key to change viewsize while playing
-* Game able to work with any resolution in software mode
-* Audio support using OpenAL
-* Add support for the Mac version, if possible
-* Network support!
-* Fully compile with no warnings/errors using -Wall -ansi -pedantic and with
- other compilers (would need to turn off warnings about unused parameters)
-* Port to: Linux/SVGAlib, Unix/OpenGL?, Linux/SDL, DOS/Allegro?, Win32/GDI?,
- Win32/DX?, Win32/D3D?, Win32/OpenGL?, BeOS?, MacOS?, QNX?
-* Ease in using demos. Playing demos from files, recording to files, batch
- playing, and so on.
-* Make Wolf3D the game it was originally planned to be... More strategy...
-* Empty TODO File
-* Test with other available mods (that were compatible with the original
- game)
-* Unified input handling
-* Configuration files and save games which work regardless of operating
- system/processor/binary build
-* Suite of utilities to edit the game data.
-* Resolve any endian issues
-* Add a ViewMap?
diff --git a/target/demos/wolfenstein3d/Makefile b/target/demos/wolfenstein3d/Makefile
deleted file mode 100644
index 80a97b2..0000000
--- a/target/demos/wolfenstein3d/Makefile
+++ /dev/null
@@ -1,69 +0,0 @@
-ifeq ($(TARGET),arm)
-INCLUDE_PATH="../../../buildroot/build_arm_nofpu/SDL-1.2.11/include/"
-LIBRARY_PATH="../../../buildroot/build_arm_nofpu/root/usr/lib/"
-INSTALL_DIR="../../../buildroot/build_arm_nofpu/root/usr/bin/"
-CC:=../../../buildroot/build_arm_nofpu/staging_dir/bin/arm-linux-gcc
-DEFINES=TARGET
-ROOT=../../../buildroot/build_arm_nofpu/staging_dir/
-else
-INCLUDE_PATH="/usr/include/SDL"
-LIBRARY_PATH="/usr/lib/"
-INSTALL_DIR="."
-CC=gcc
-DEFINES=HOST
-endif
-
-CFLAGS = -O2 -Wall
-#CFLAGS = -g -Wall -pedantic
-#CFLAGS = -g -O2 -Wall -pedantic
-#CFLAGS = -Wall -O6 -fomit-frame-pointer -ffast-math -funroll-loops -mpentiumpro -mcpu=pentiumpro -march=pentiumpro
-#CFLAGS = -g -Wall -pedantic -std=gnu99
-#CFLAGS = -Os -Wall -pedantic
-#CFLAGS = -Os -Wall -fomit-frame-pointer -ffast-math -mpentiumpro -mcpu=pentiumpro -march=pentiumpro
-
-OBJS = objs.o misc.o id_ca.o id_vh.o id_us.o \
- wl_act1.o wl_act2.o wl_act3.o wl_agent.o wl_game.o \
- wl_inter.o wl_menu.o wl_play.o wl_state.o wl_text.o wl_main.o \
- wl_debug.o vi_comm.o sd_comm.o
-ROBJS = wl_draw.o
-DOBJS = $(OBJS) $(ROBJS) vi_sdl.o
-
-LFLAGS = -lm
-
-OBJS += sd_null.o
-#OBJS += sd_oss.o fmopl.o
-#CFLAGS += -D_REENTRANT
-#LFLAGS += -lpthread
-
-CFLAGS += `$(ROOT)/usr/bin/sdl-config --cflags`
-
-DLFLAGS = $(LFLAGS) `$(ROOT)/usr/bin/sdl-config --libs`
-
-NASM = nasm
-
-.SUFFIXES: .asm
-
-all: sdlwolf3d
-
-$(DOBJS): version.h id_heads.h wl_def.h
-
-.asm.o:
- $(NASM) -f elf -o $@ $<
-
-swolf3d: $(SOBJS)
- $(CC) -o swolf3d $(SOBJS) $(SLFLAGS)
-
-xwolf3d: $(XOBJS)
- $(CC) -o xwolf3d $(XOBJS) $(XLFLAGS)
-
-sdlwolf3d: $(DOBJS)
- $(CC) -o sdlwolf3d $(DOBJS) $(DLFLAGS)
-
-clean:
- rm -rf swolf3d xwolf3d sdlwolf3d *.o
-
-distclean: clean
- rm -rf *~ DEADJOE
-
-forced: distclean all
- rm -rf *.o
diff --git a/target/demos/wolfenstein3d/NOTES b/target/demos/wolfenstein3d/NOTES
deleted file mode 100644
index a5c445a..0000000
--- a/target/demos/wolfenstein3d/NOTES
+++ /dev/null
@@ -1,71 +0,0 @@
-Just some random facts/thoughts/ideas/musings:
-
-* Wolfenstein 3D for:
- - PC [May 5, 1992]
- - PC (Spear of Destiny) [September 18, 1992]
- - SNES
- - Macintosh
- - Jaguar
- - Apple IIGS: http://www.sheppyware.com/products/a2/wolf3d/
- - 3DO
- - Acorn/Archemedes: http://www.users.globalnet.co.uk/~brlowe/info2.htm
-
-* Rumored/Never Released?
- - Atari Lynx
- - Sega Genesis (was cancelled after a month)
- - Japanese PC Version (referenced in source)
- - Spanish PC Version (referenced in source)
- - Japanese Mac Version (referenced in source ??)
-
-* Unofficial ports:
- - Linux (this, xwolf, wolfgl)
- XWolf: http://www.sirius.demon.co.uk/xwolf/
- - Amiga (port of my first pc wolf3d linux port)
- http://www.silab.dsi.unimi.it/~cs556770/wolf3d/
- - Windows
- WolfGL: http://www.sourceforge.net/projects/wolfgl/
- Wolf DX: http://www.phoebe.co.uk/glwolf/
- NewWolf: http://wolfgl.narod.ru/
-
-* PC source released Jul 21, 1995 [http://www.3dgamers.com/games/wolfenstein3d/]
- - ftp://ftp.idsoftware.com/idstuff/source/wolfsrc.zip
- * now many ports, projects, etc
- - http://www.abraxis.com/brucel/wolf3d.html
- - http://www.wolf3dbunker.com
- - http://www.wolf3dmansion.com/index.phtml
-* Macintosh source released January 21, 2000
- - http://www.maccentral.com/news/0001/24.wolf3d.shtml
-* TED5 source (map editor used for tons of games including wolf3d)
- - ftp://ftp.3drealms.com/misc/ted5.zip
-* Games which used the Wolfenstein 3D Engine:
- - Blake Stone (Aliens of Gold, Planet Strike)
- - Corridor 7
- - Operation Body Count
-
-Apogee FAQ (lots of information regarding Wolf3D):
-- http://www.rinkworks.com/apogee/
-
-Wolfenstein 3D FAQ:
-- http://www.wolf3d.co.uk/Wolfenstein-3D.faq
-
-How to get Wolfenstein 3D:
-- Wolfenstein 3D Shareware:
- ftp://ftp.gamers.org/pub/games/wolf3d/official/1wolf14.zip
- http://www.3drealms.com/downloads.html
-- Spear of Destiny Demo:
- ftp://ftp.gamers.org/pub/3daction/00archives/speardestiny/releases/soddemo2.zip
-- Macintosh versions:
- - Search for the shareware version (First Encounter) on Macintosh Shareware
- websites.
- - The commercial Macintosh version (Second Encounter, not Third) is out of
- print, but you may find someone selling it on websites such as
- http://www.ebay.com.
-- Where to Buy:
- http://www.3drealms.com
- http://www.idsoftware.com (look for how to order direct, etc)
- http://www.activison.com
-
-
------
-Steven Fuller
-re...@ic...
diff --git a/target/demos/wolfenstein3d/README b/target/demos/wolfenstein3d/README
deleted file mode 100644
index 9e3b09c..0000000
--- a/target/demos/wolfenstein3d/README
+++ /dev/null
@@ -1,74 +0,0 @@
-This is a "quick and dirty" port of "Wolfenstein 3D Linux" to the Armadeus Project
-boards. You will need a keyboard connected to your board to appreciate this game ! ;-)
-
-Original sources were found here: http://www.icculus.org/wolf3d/
-
-To compile it:
-- for your Host: make
-- for your board; make TARGET=arm
-
-To use it you will need to have original game data (wolfdata.zip):
-http://sourceforge.net/project/showfiles.php?group_id=11904
-Launch the game executable (sdlwolf3d) from the data directory.
-
-There is still some bugs, please consult BUGS.txt.
-
-Julien Boibessot
-jul...@ar...
-
-
-Original text start here: --------------------------->>>>
-
-This is a October 28, 2001 Snapshot of "Wolfenstein 3D Linux" by Steven
-Fuller. It is an unofficial Linux port of the id Software game, Wolfenstein
-3D (1992).
-
-I am releasing this snapshot to find out what still needs to be done to make
-this port 'complete.' So all feedback is welcome.
-
-My Goal:
-Take the 1992 DOS game, and bring it to Linux. Extra features will be kept
-at a minimum.
-
-To compile, type: make
-Be sure to have SDL 1.2 (http://www.libsdl.org) installed.
-
-To change which version of the game is used, edit version.h (change the
-#define WMODE <number> line, replacing <number> with: 0 for the Wolfenstein
-3D Shareware (WL1), Wolfenstein 3D registered, all six episodes (WL6), the
-Spear of Destiny Demo (SDM), and Spear of Destiny (SOD). Make sure you have
-the latest versions of the game). Wolfenstein 3D, the first three episodes
-(WL3) is not supported; let me know if you have a copy (or you could pick up
-a copy of the full version...). To find out where to get the
-demos/shareware, look in NOTES.
-
-Sound support is there. Edit the Makefile (find the line that has 'OBJS +=
-sd_null.o'. Add a # in front of it, and remove the # from the next three
-lines. Recompile and sound should work.)
-
-If you have anything to contribute to NOTES (interesting facts, etc),
-please let me know.
-
-Note:
-Config files are not implemented. They should be implemented in the next
-release.
-
-If you like your Wolf3D with OpenGL, be sure to check out WolfGL:
-http://www.sourceforge.net/projects/wolfgl/
-
-
-Thanks:
-* id Software
-* David Haslam
-* Ryan Gordon
-* Bill Heineman
-* Dan Olson
-* Leonardo Zide
-* Tatsuyuki Satoh
-* Chuck Mason
-* And everyone who has emailed me about this code! Thanks!
-
------
-Steven Fuller
-re...@ic...
-http://icculus.org/wolf3d/
diff --git a/target/demos/wolfenstein3d/TODO b/target/demos/wolfenstein3d/TODO
deleted file mode 100644
index fbe3433..0000000
--- a/target/demos/wolfenstein3d/TODO
+++ /dev/null
@@ -1,137 +0,0 @@
-Priority Levels: I > R > M (I, R required to be complete before full release)
-Program: P=PC Wolf3D, M=Mac Wolf3D, B=Both
-P R - create a better "read direction" for menu movement
-P M - convert while (Keyboard[sc_Blah]) IN_CheckAck() to IN_WaitKeyDown(sc..
-P I - finish changing the game movement to the new style
-P R - update input menus/config
-P M - cleanup/rewrite menu code
-P R - update sound menus/config
-P I - rewrite sound code: get rid of packed structs, clean up thread stuff
-P I - fix issues (speed, hacks) with variable screen size
-P M - BSP trees (or something similar), then OpenGL support
-M R - port menu code (after fixed up)
-M R - add sound
-M M - complete/fix opengl mode
-M M - add music (would need to RE the sound lib)
-B I - complete savegame, config formats
-M I - add SDL
-B R - decide if to keep SVGA/X11 targets
-B M - configure scripts? (autoconf/automake/etc)
-B M - port to dreamcast?
-B M - add compression to savegames/config
-B I - play through game (w/ sound and music) to make sure things work
-B M - use stdint.h where appropiate
-B M - finish serializing reads/writes, endian issues.
- - PC version should be OK for loading -- savegames not yet tested.
-P M - fix raycast bug where at certain points you can see through corners
-B I - merge other TODO lists into this list
-B M - use something like config file or getenv to point at data directories
-P I - finish handling/mapping for all keys in sys. specific code
-B I - add mouse support
-B M - add joystick/gamepad support
-P I - fill in the new fizzlefade function
-P I - add sound "emulation" to the necessary targets so WaitSoundDone works
-P R - change boolean SD_PlaySound to void SD_PlaySound
-P M - position pushwall sounds
-P M - id_ca.c cache code: fix/readd/rewrite the "garbage collection" system
-P M - rewrite id_ca.c: uniform memory handling system
-P M - either move id_heads into wl_def or split header files apart
-P R - rewrite fmopl.c to avoid licensing issues (or provide as a separate patch? may not be advisable since id owns copyright on wolf code)
-P R - remove CA_LoadAllSounds now that the sound code does everything
-B I - README, etc.
-B M - Code Documentation
-P M - rename visable to visible
-B M - change the commandline handling (use something like getopt?)
-P R - rewrite RLEWexpand to not use words
-B M - openal support
-B I - when window loses focus, it should clear the keys
-B M - [X11] use the data in the visual/image for formatting colors
-
-Complete:
-P I - fix or remove fizzle fade
- - Removed [nice, but very hacky effect]
-------------------------------------------------------------------------------
-* what exactly is the point of all the DigiMode checks in wl_act2.c?
-* add ylookup?
-* remove farmapylookup?
-* would be nice if Quit() used vsnprintf, etc
-* actor walking through door is drawn in front of door: near end of E1M1 for
-example (is this reproducible?)
-* use static and const where appropriate
-* clean up header files, especially wl_def.h, where some declarations aren't
-in the right place
-* remove check for debugmode?
-* check filehandling (ex, file missing, bad file type, and such)
-PlayDemoFromFile specifically
-* deathcam went by too fast, same with the spear of destiny ending animation
- - probably due to waiting for sounds to finish
-* split wl_draw into two files (draw independent, draw dependent)
-------------------------------------------------------------------------------
-void ControlMovement(objtype *ob) (wl_agent.c)
-void UpdateInput() / void PollControls() (wl_play.c)
-------------------------------------------------------------------------------
-Control Menu:
-* TODO
-
-Sound Menu:
-* Digital Sound Effects:
-- On [PCM]
-- Off
-* Sound Effects
-- On [AdLib/OPL2]
-- PC Speaker?
-- Off
-* Music:
-- On [AdLib/OPL2]
-- Off
-------------------------------------------------------------------------------
-Where to Look for/Save Files:
-
-~/.wolf3d
-cwd
-/usr/games/share
-$ENVIRONMENT_VARIABLE
-
-Need to establish where to look, order to look, strict/lenient loading (load
-all files from the determined game directory, or look in order for each
-file), and where to put savegames and config files.
-------------------------------------------------------------------------------
-Save game header:
-8 bytes: WOLF3D, 0, 0
-4 bytes: SAV, 0
-4 bytes: version (integer)
-4 bytes: game type (WL1, WL6, SDM, SOD)
-4 bytes: seconds past 1970 (time(NULL))
-4 bytes: padding
-4 bytes: checksum for the data (after text string)
-32 bytes: text string
-
-Version 0xFFFFFFFF Data: (Unofficial Save Game data)
-<see wl_main.c>
-
-Version 0x00000000 Data: (Official)
-<undetermined>
-
-Version 0x00000001 Data: (Official)
-<undetermined but will be compressed>
-
----
-
-Config header:
-8 bytes: WOLF3D, 0, 0
-4 bytes: CFG, 0
-4 bytes: version (integer)
-4 bytes: game type (WL1, WL6, SDM, SOD)
-4 bytes: seconds past 1970 (time(NULL))
-4 bytes: padding
-4 bytes: checksum for the data
-
-Version 0xFFFFFFFF Data: (Unofficial Config data)
-<see wl_main.c>
-
-Version 0x00000000 Data: (Official)
-<undetermined>
-
-Version 0x00000001 Data: (Official)
-<undetermined but will be compressed>
-
diff --git a/target/demos/wolfenstein3d/audiosod.h b/target/demos/wolfenstein3d/audiosod.h
deleted file mode 100644
index d12d0c0..0000000
--- a/target/demos/wolfenstein3d/audiosod.h
+++ /dev/null
@@ -1,122 +0,0 @@
-#define NUMSOUNDS 81
-#define NUMSNDCHUNKS 267
-
-/* Sound names & indexes */
-typedef enum {
- HITWALLSND, // 0
- MISSILEHITSND, // 1
- SELECTITEMSND, // 2
- GHOSTSIGHTSND, // 3
- MOVEGUN2SND, // 4
- MOVEGUN1SND, // 5
- NOWAYSND, // 6
- NAZIHITPLAYERSND, // 7
- MISSILEFIRESND, // 8
- PLAYERDEATHSND, // 9
- DOGDEATHSND, // 10
- ATKGATLINGSND, // 11
- GETKEYSND, // 12
- NOITEMSND, // 13
- WALK1SND, // 14
- WALK2SND, // 15
- TAKEDAMAGESND, // 16
- GAMEOVERSND, // 17
- OPENDOORSND, // 18
- CLOSEDOORSND, // 19
- DONOTHINGSND, // 20
- HALTSND, // 21
- DEATHSCREAM2SND, // 22
- ATKKNIFESND, // 23
- ATKPISTOLSND, // 24
- DEATHSCREAM3SND, // 25
- ATKMACHINEGUNSND, // 26
- HITENEMYSND, // 27
- SHOOTDOORSND, // 28
- DEATHSCREAM1SND, // 29
- GETMACHINESND, // 30
- GETAMMOSND, // 31
- SHOOTSND, // 32
- HEALTH1SND, // 33
- HEALTH2SND, // 34
- BONUS1SND, // 35
- BONUS2SND, // 36
- BONUS3SND, // 37
- GETGATLINGSND, // 38
- ESCPRESSEDSND, // 39
- LEVELDONESND, // 40
- DOGBARKSND, // 41
- ENDBONUS1SND, // 42
- ENDBONUS2SND, // 43
- BONUS1UPSND, // 44
- BONUS4SND, // 45
- PUSHWALLSND, // 46
- NOBONUSSND, // 47
- PERCENT100SND, // 48
- BOSSACTIVESND, // 49
- DEATHSCREAM4SND, // 50
- SCHUTZADSND, // 51
- AHHHGSND, // 52
- DEATHSCREAM5SND, // 53
- DEATHSCREAM7SND, // 54
- DEATHSCREAM8SND, // 55
- LEBENSND, // 56
- DEATHSCREAM6SND, // 57
- NAZIFIRESND, // 58
- BOSSFIRESND, // 59
- SSFIRESND, // 60
- SLURPIESND, // 61
- GHOSTFADESND, // 62
- DEATHSCREAM9SND, // 63
- GETAMMOBOXSND, // 64
- ANGELSIGHTSND, // 65
- SPIONSND, // 66
- NEINSOVASSND, // 67
- DOGATTACKSND, // 68
- ANGELFIRESND, // 69
- TRANSSIGHTSND, // 70
- TRANSDEATHSND, // 71
- WILHELMSIGHTSND, // 72
- WILHELMDEATHSND, // 73
- UBERDEATHSND, // 74
- KNIGHTSIGHTSND, // 75
- KNIGHTDEATHSND, // 76
- ANGELDEATHSND, // 77
- KNIGHTMISSILESND, // 78
- GETSPEARSND, // 79
- ANGELTIREDSND, // 80
- LASTSOUND
- } soundnames;
-
-/* Base offsets */
-#define STARTPCSOUNDS 0
-#define STARTADLIBSOUNDS 81
-#define STARTMUSIC 243
-
-/* Music names & indexes */
-typedef enum {
- XFUNKIE_MUS, // 0
- DUNGEON_MUS, // 1
- XDEATH_MUS, // 2
- GETTHEM_MUS, // 3
- XTIPTOE_MUS, // 4
- GOINGAFT_MUS, // 5
- URAHERO_MUS, // 6
- XTHEEND_MUS, // 7
- NAZI_OMI_MUS, // 8
- POW_MUS, // 9
- TWELFTH_MUS, // 10
- SEARCHN_MUS, // 11
- SUSPENSE_MUS, // 12
- ZEROHOUR_MUS, // 13
- WONDERIN_MUS, // 14
- ULTIMATE_MUS, // 15
- ENDLEVEL_MUS, // 16
- XEVIL_MUS, // 17
- XJAZNAZI_MUS, // 18
- COPYPRO_MUS, // 19
- XAWARD_MUS, // 20
- XPUTIT_MUS, // 21
- XGETYOU_MUS, // 22
- XTOWER2_MUS, // 23
- LASTMUSIC
- } musicnames;
diff --git a/target/demos/wolfenstein3d/audiowl6.h b/target/demos/wolfenstein3d/audiowl6.h
deleted file mode 100644
index 1cc9f15..0000000
--- a/target/demos/wolfenstein3d/audiowl6.h
+++ /dev/null
@@ -1,137 +0,0 @@
-#define NUMSOUNDS 87
-#define NUMSNDCHUNKS 288
-
-//
-// Sound names & indexes
-//
-typedef enum {
- HITWALLSND, // 0
- SELECTWPNSND, // 1
- SELECTITEMSND, // 2
- HEARTBEATSND, // 3
- MOVEGUN2SND, // 4
- MOVEGUN1SND, // 5
- NOWAYSND, // 6
- NAZIHITPLAYERSND, // 7
- SCHABBSTHROWSND, // 8
- PLAYERDEATHSND, // 9
- DOGDEATHSND, // 10
- ATKGATLINGSND, // 11
- GETKEYSND, // 12
- NOITEMSND, // 13
- WALK1SND, // 14
- WALK2SND, // 15
- TAKEDAMAGESND, // 16
- GAMEOVERSND, // 17
- OPENDOORSND, // 18
- CLOSEDOORSND, // 19
- DONOTHINGSND, // 20
- HALTSND, // 21
- DEATHSCREAM2SND, // 22
- ATKKNIFESND, // 23
- ATKPISTOLSND, // 24
- DEATHSCREAM3SND, // 25
- ATKMACHINEGUNSND, // 26
- HITENEMYSND, // 27
- SHOOTDOORSND, // 28
- DEATHSCREAM1SND, // 29
- GETMACHINESND, // 30
- GETAMMOSND, // 31
- SHOOTSND, // 32
- HEALTH1SND, // 33
- HEALTH2SND, // 34
- BONUS1SND, // 35
- BONUS2SND, // 36
- BONUS3SND, // 37
- GETGATLINGSND, // 38
- ESCPRESSEDSND, // 39
- LEVELDONESND, // 40
- DOGBARKSND, // 41
- ENDBONUS1SND, // 42
- ENDBONUS2SND, // 43
- BONUS1UPSND, // 44
- BONUS4SND, // 45
- PUSHWALLSND, // 46
- NOBONUSSND, // 47
- PERCENT100SND, // 48
- BOSSACTIVESND, // 49
- MUTTISND, // 50
- SCHUTZADSND, // 51
- AHHHGSND, // 52
- DIESND, // 53
- EVASND, // 54
- GUTENTAGSND, // 55
- LEBENSND, // 56
- SCHEISTSND, // 57
- NAZIFIRESND, // 58
- BOSSFIRESND, // 59
- SSFIRESND, // 60
- SLURPIESND, // 61
- TOT_HUNDSND, // 62
- MEINGOTTSND, // 63
- SCHABBSHASND, // 64
- HITLERHASND, // 65
- SPIONSND, // 66
- NEINSOVASSND, // 67
- DOGATTACKSND, // 68
- FLAMETHROWERSND, // 69
- MECHSTEPSND, // 70
- GOOBSSND, // 71
- YEAHSND, // 72
- DEATHSCREAM4SND, // 73
- DEATHSCREAM5SND, // 74
- DEATHSCREAM6SND, // 75
- DEATHSCREAM7SND, // 76
- DEATHSCREAM8SND, // 77
- DEATHSCREAM9SND, // 78
- DONNERSND, // 79
- EINESND, // 80
- ERLAUBENSND, // 81
- KEINSND, // 82
- MEINSND, // 83
- ROSESND, // 84
- MISSILEFIRESND, // 85
- MISSILEHITSND, // 86
- LASTSOUND
- } soundnames;
-
-//
-// Base offsets
-//
-#define STARTPCSOUNDS 0
-#define STARTADLIBSOUNDS 87
-#define STARTMUSIC 261
-
-//
-// Music names & indexes
-//
-typedef enum {
- CORNER_MUS, // 0
- DUNGEON_MUS, // 1
- WARMARCH_MUS, // 2
- GETTHEM_MUS, // 3
- HEADACHE_MUS, // 4
- HITLWLTZ_MUS, // 5
- INTROCW3_MUS, // 6
- NAZI_NOR_MUS, // 7
- NAZI_OMI_MUS, // 8
- POW_MUS, // 9
- SALUTE_MUS, // 10
- SEARCHN_MUS, // 11
- SUSPENSE_MUS, // 12
- VICTORS_MUS, // 13
- WONDERIN_MUS, // 14
- FUNKYOU_MUS, // 15
- ENDLEVEL_MUS, // 16
- GOINGAFT_MUS, // 17
- PREGNANT_MUS, // 18
- ULTIMATE_MUS, // 19
- NAZI_RAP_MUS, // 20
- ZEROHOUR_MUS, // 21
- TWELFTH_MUS, // 22
- ROSTER_MUS, // 23
- URAHERO_MUS, // 24
- VICMARCH_MUS, // 25
- PACMAN_MUS, // 26
- LASTMUSIC
- } musicnames;
diff --git a/target/demos/wolfenstein3d/docs/goodstuf.txt b/target/demos/wolfenstein3d/docs/goodstuf.txt
deleted file mode 100644
index a4af9ef..0000000
--- a/target/demos/wolfenstein3d/docs/goodstuf.txt
+++ /dev/null
@@ -1,56 +0,0 @@
-To: ROMERO,TOM
-From: LOTHAR/JAY
-Date: 9 Aug 92 21:06:46
-Subject: AOL Message
-X-mailer: Pegasus Mail v2.3 (R2).
-
-Subj: DREAMS, FLASHBACKS
-Date: 92-08-09 03:59:55 EDT
-From: Tug Hill 2
-Posted on: America Online
-
-On a serious note...
-
-As a former POW (Vietnam), I hesitated to play WOLF for over a
-month after downloading as I feared flashbacks. I didn't want to
-remember all that I had been through all those years ago, when, as
-POW's, my friend and I decided an escape attempt would be better than
-a slow death by torture and starvation.
-
-My friend and I made crude maps and hoarded food. The day of the
-escape we clubbed the guard with stones, took his gun and fought our
-way through two levels of underground tunnels (only a few guards and
-had to crawl). I made it, my friend didn't.
-
-Dreams...NO! NIGHTMARES...YES!! However, the more I play
-WOLF the less frequently I have nightmares. The chilling part is
-turning a corner and seeing a guard with his gun drawn.
-
-WOLF is a powerful game. Fearful as well. I believe that a
-person should face the past. So... when I can play EPISODE 1
-comfortably (no nightmares), I plan on ordering the full series.
-
-Don't let a few bad dreams make you discard this game.
-
--------------------------------------------------------------------------
-
-Subj: Wolf-3D Section: Action/Arcade Games
-From: Ty Graham 72350,2636 # 191387, * No Replies *
-To: Id Software 72600,1333 Date: 24-Jul-92 18:27:27
-
-Jay, just thought I'd drop a note to let you know how popular Wolf3D is
-here at Microsoft. It seems like I can't walk down a hall without hearing
-'Mein Leben' from someone's office. I hope you guys are getting revenue
-from all this.
-
-Anyway, we were sitting around talking the other day, discussing games for
-Windows, and someone said 'What are those cool guys at Id doing?'. So how
-about it. Are you guys looking at Win games at all? Win32?
-
-In a perfect world, I'd have you guys port the Wolf engine to a multiuser
-maze game for Windows for Workgroups. We need a good M'user Win game.
-
-Anyway some thoughts.
-
-Ty Graham (Microsoft)
-
diff --git a/target/demos/wolfenstein3d/docs/release.txt b/target/demos/wolfenstein3d/docs/release.txt
deleted file mode 100644
index 5b395c5..0000000
--- a/target/demos/wolfenstein3d/docs/release.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-We are releasing this code for the entertainment of the
-user community. We don't guarentee that anything even
-builds in here. Projects just seem to rot when you leave
-them alone for long periods of time.
-
-This is all the source we have relating to the original
-PC wolfenstein 3D project. We haven't looked at this
-stuff in years, and I would probably be horribly embarassed
-to dig through my old code, so please don't ask any questions
-about it. The original project was built in borland c++ 3.0.
-I think some minor changes were required for later versions.
-
-You will need the data from a released version of wolf or spear
-to use the exe built from this code. You can just use a
-shareware version if you are really cheap.
-
-
-Some coding comments in retrospect:
-
-The ray casting refresh architecture is still reasonably
-appropriate for the game. A BSP based texture mapper could
-go faster, but ray casting was a lot simpler to do at the time.
-
-The dynamically compiled scaling routines are now a Bad Thing.
-On uncached machines (the original target) they are the fastest
-possible way to scale walls, but on modern processors you just
-wind up thrashing the code cash and wrecking performance.
-A simple looping texture mapper would be faster on 486+ machines.
-
-The whole page manager caching scheme is unecessarily complex.
-
-Way too many #ifdefs in the code!
-
-
-Some project ideas with this code:
-
-Add new monsters or weapons.
-
-Add taller walls and vertical motion. This should only be
-done if the texture mapper is rewritten.
-
-Convert to a 32 bit compiler. This would be a fair amount
-of work, but I would hate to even mess with crusty old 16
-bit code. The code would get a LOT smaller.
-
-Make a multi-player game that runs on DOOM sersetup / ipxsetup drivers.
-
-
-Have fun...
-
-John Carmack
-Technical Director
-Id Software
diff --git a/target/demos/wolfenstein3d/fmopl.c b/target/demos/wolfenstein3d/fmopl.c
deleted file mode 100644
index a976b51..0000000
--- a/target/demos/wolfenstein3d/fmopl.c
+++ /dev/null
@@ -1,1026 +0,0 @@
-/*
-**
-** File: fmopl.c -- software implementation of FM sound generator
-**
-** Copyright (C) 1999,2000 Tatsuyuki Satoh , MultiArcadeMachineEmulator development
-**
-** Version 0.37
-**
-** Modified for Wolfenstein 3D by Steven Fuller
-*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <stdarg.h>
-#include <math.h>
-
-#include "fmopl.h"
-
-#define INLINE static /* inline */
-
-void logerror(const char *text, ...);
-
-#ifndef PI
-#define PI 3.14159265358979323846
-#endif
-
-/* -------------------- for debug --------------------- */
-/* #define OPL_OUTPUT_LOG */
-#ifdef OPL_OUTPUT_LOG
-static FILE *opl_dbg_fp = NULL;
-static FM_OPL *opl_dbg_opl[16];
-static int opl_dbg_maxchip,opl_dbg_chip;
-#endif
-
-/* -------------------- preliminary define section --------------------- */
-/* attack/decay rate */
-#define OPL_ARRATE 141280 /* RATE 4 = 2826.24ms @ 3.6MHz */
-#define OPL_DRRATE 1956000 /* RATE 4 = 39280.64ms @ 3.6MHz */
-
-#define FREQ_BITS 24 /* frequency turn */
-
-/* counter bits = 20, octave 7 */
-#define FREQ_RATE (1<<(FREQ_BITS-20))
-#define TL_BITS (FREQ_BITS+2)
-
-/* final output shift, limit minimum and maximum */
-#define OPL_OUTSB (TL_BITS+3-16) /* OPL output final shift 16bit */
-#define OPL_MAXOUT (0x7fff<<OPL_OUTSB)
-#define OPL_MINOUT (-0x8000<<OPL_OUTSB)
-
-/* -------------------- quality selection --------------------- */
-
-/* sinwave entries */
-/* used static memory = SIN_ENT * 4 (byte) */
-#define SIN_ENT 2048
-
-/* output level entries (envelope,sinwave) */
-/* envelope counter lower bits */
-#define ENV_BITS 16
-/* envelope output entries */
-#define EG_ENT 4096
-/* used dynamic memory = EG_ENT*4*4(byte)or EG_ENT*6*4(byte) */
-/* used static memory = EG_ENT*4 (byte) */
-
-#define EG_OFF ((2*EG_ENT)<<ENV_BITS) /* OFF */
-#define EG_DED EG_OFF
-#define EG_DST (EG_ENT<<ENV_BITS) /* DECAY START */
-#define EG_AED EG_DST
-#define EG_AST 0 /* ATTACK START */
-
-#define EG_STEP (96.0/EG_ENT) /* OPL is 0.1875 dB step */
-
-/* LFO table entries */
-#define VIB_ENT 512
-#define VIB_SHIFT (32-9)
-#define AMS_ENT 512
-#define AMS_SHIFT (32-9)
-
-#define VIB_RATE 256
-
-/* -------------------- local defines , macros --------------------- */
-
-/* register number to channel number , slot offset */
-#define SLOT1 0
-#define SLOT2 1
-
-/* envelope phase */
-#define ENV_MOD_RR 0x00
-#define ENV_MOD_DR 0x01
-#define ENV_MOD_AR 0x02
-
-/* -------------------- tables --------------------- */
-static const int slot_array[32]=
-{
- 0, 2, 4, 1, 3, 5,-1,-1,
- 6, 8,10, 7, 9,11,-1,-1,
- 12,14,16,13,15,17,-1,-1,
- -1,-1,-1,-1,-1,-1,-1,-1
-};
-
-/* key scale level */
-/* table is 3dB/OCT , DV converts this in TL step at 6dB/OCT */
-#define DV (EG_STEP/2)
-static const UINT32 KSL_TABLE[8*16]=
-{
- /* OCT 0 */
- 0.000/DV, 0.000/DV, 0.000/DV, 0.000/DV,
- 0.000/DV, 0.000/DV, 0.000/DV, 0.000/DV,
- 0.000/DV, 0.000/DV, 0.000/DV, 0.000/DV,
- 0.000/DV, 0.000/DV, 0.000/DV, 0.000/DV,
- /* OCT 1 */
- 0.000/DV, 0.000/DV, 0.000/DV, 0.000/DV,
- 0.000/DV, 0.000/DV, 0.000/DV, 0.000/DV,
- 0.000/DV, 0.750/DV, 1.125/DV, 1.500/DV,
- 1.875/DV, 2.250/DV, 2.625/DV, 3.000/DV,
- /* OCT 2 */
- 0.000/DV, 0.000/DV, 0.000/DV, 0.000/DV,
- 0.000/DV, 1.125/DV, 1.875/DV, 2.625/DV,
- 3.000/DV, 3.750/DV, 4.125/DV, 4.500/DV,
- 4.875/DV, 5.250/DV, 5.625/DV, 6.000/DV,
- /* OCT 3 */
- 0.000/DV, 0.000/DV, 0.000/DV, 1.875/DV,
- 3.000/DV, 4.125/DV, 4.875/DV, 5.625/DV,
- 6.000/DV, 6.750/DV, 7.125/DV, 7.500/DV,
- 7.875/DV, 8.250/DV, 8.625/DV, 9.000/DV,
- /* OCT 4 */
- 0.000/DV, 0.000/DV, 3.000/DV, 4.875/DV,
- 6.000/DV, 7.125/DV, 7.875/DV, 8.625/DV,
- 9.000/DV, 9.750/DV,10.125/DV,10.500/DV,
- 10.875/DV,11.250/DV,11.625/DV,12.000/DV,
- /* OCT 5 */
- 0.000/DV, 3.000/DV, 6.000/DV, 7.875/DV,
- 9.000/DV,10.125/DV,10.875/DV,11.625/DV,
- 12.000/DV,12.750/DV,13.125/DV,13.500/DV,
- 13.875/DV,14.250/DV,14.625/DV,15.000/DV,
- /* OCT 6 */
- 0.000/DV, 6.000/DV, 9.000/DV,10.875/DV,
- 12.000/DV,13.125/DV,13.875/DV,14.625/DV,
- 15.000/DV,15.750/DV,16.125/DV,16.500/DV,
- 16.875/DV,17.250/DV,17.625/DV,18.000/DV,
- /* OCT 7 */
- 0.000/DV, 9.000/DV,12.000/DV,13.875/DV,
- 15.000/DV,16.125/DV,16.875/DV,17.625/DV,
- 18.000/DV,18.750/DV,19.125/DV,19.500/DV,
- 19.875/DV,20.250/DV,20.625/DV,21.000/DV
-};
-#undef DV
-
-/* sustain level table (3db per step) */
-/* 0 - 15: 0, 3, 6, 9,12,15,18,21,24,27,30,33,36,39,42,93 (dB)*/
-#define SC(db) (db*((3/EG_STEP)*(1<<ENV_BITS)))+EG_DST
-static const INT32 SL_TABLE[16]={
- SC( 0),SC( 1),SC( 2),SC(3 ),SC(4 ),SC(5 ),SC(6 ),SC( 7),
- SC( 8),SC( 9),SC(10),SC(11),SC(12),SC(13),SC(14),SC(31)
-};
-#undef SC
-
-#define TL_MAX (EG_ENT*2) /* limit(tl + ksr + envelope) + sinwave */
-/* TotalLevel : 48 24 12 6 3 1.5 0.75 (dB) */
-/* TL_TABLE[ 0 to TL_MAX ] : plus section */
-/* TL_TABLE[ TL_MAX to TL_MAX+TL_MAX-1 ] : minus section */
-static INT32 *TL_TABLE;
-
-/* pointers to TL_TABLE with sinwave output offset */
-static INT32 **SIN_TABLE;
-
-/* LFO table */
-static INT32 *AMS_TABLE;
-static INT32 *VIB_TABLE;
-
-/* envelope output curve table */
-/* attack + decay + OFF */
-static INT32 ENV_CURVE[2*EG_ENT+1];
-
-/* multiple table */
-#define ML 2
-static const UINT32 MUL_TABLE[16]= {
-/* 1/2, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15 */
- 0.50*ML, 1.00*ML, 2.00*ML, 3.00*ML, 4.00*ML, 5.00*ML, 6.00*ML, 7.00*ML,
- 8.00*ML, 9.00*ML,10.00*ML,10.00*ML,12.00*ML,12.00*ML,15.00*ML,15.00*ML
-};
-#undef ML
-
-/* dummy attack / decay rate ( when rate == 0 ) */
-static INT32 RATE_0[16]=
-{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
-
-/* -------------------- static state --------------------- */
-
-/* lock level of common table */
-static int num_lock = 0;
-
-/* work table */
-static void *cur_chip = NULL; /* current chip point */
-/* currenct chip state */
-/* static OPLSAMPLE *bufL,*bufR; */
-static OPL_CH *S_CH;
-static OPL_CH *E_CH;
-OPL_SLOT *SLOT7_1,*SLOT7_2,*SLOT8_1,*SLOT8_2;
-
-static INT32 outd[1];
-static INT32 ams;
-static INT32 vib;
-INT32 *ams_table;
-INT32 *vib_table;
-static INT32 amsIncr;
-static INT32 vibIncr;
-static INT32 feedback2; /* connect for SLOT 2 */
-
-/* log output level */
-#define LOG_ERR 3 /* ERROR */
-#define LOG_WAR 2 /* WARNING */
-#define LOG_INF 1 /* INFORMATION */
-
-#define LOG_LEVEL LOG_INF
-
-#define LOG(n,x) if( (n)>=LOG_LEVEL ) logerror x
-
-/* --------------------- subroutines --------------------- */
-
-INLINE int Limit( int val, int max, int min ) {
- if ( val > max )
- val = max;
- else if ( val < min )
- val = min;
-
- return val;
-}
-
-/* ----- key on ----- */
-INLINE void OPL_KEYON(OPL_SLOT *SLOT)
-{
- /* sine wave restart */
- SLOT->Cnt = 0;
- /* set attack */
- SLOT->evm = ENV_MOD_AR;
- SLOT->evs = SLOT->evsa;
- SLOT->evc = EG_AST;
- SLOT->eve = EG_AED;
-}
-/* ----- key off ----- */
-INLINE void OPL_KEYOFF(OPL_SLOT *SLOT)
-{
- if( SLOT->evm > ENV_MOD_RR)
- {
- /* set envelope counter from envleope output */
- SLOT->evm = ENV_MOD_RR;
- if( !(SLOT->evc&EG_DST) )
- SLOT->evc = (ENV_CURVE[SLOT->evc>>ENV_BITS]<<ENV_BITS) + EG_DST;
- SLOT->eve = EG_DED;
- SLOT->evs = SLOT->evsr;
- }
-}
-
-/* ---------- Envelope Generator & Phase Generator ---------- */
-/* return : envelope output */
-INLINE UINT32 OPL_CALC_SLOT( OPL_SLOT *SLOT )
-{
- /* calculate envelope generator */
- if( (SLOT->evc+=SLOT->evs) >= SLOT->eve )
- {
- switch( SLOT->evm ){
- case ENV_MOD_AR: /* ATTACK -> DECAY1 */
- /* next DR */
- SLOT->evm = ENV_MOD_DR;
- SLOT->evc = EG_DST;
- SLOT->eve = SLOT->SL;
- SLOT->evs = SLOT->evsd;
- break;
- case ENV_MOD_DR: /* DECAY -> SL or RR */
- SLOT->evc = SLOT->SL;
- SLOT->eve = EG_DED;
- if(SLOT->eg_typ)
- {
- SLOT->evs = 0;
- }
- else
- {
- SLOT->evm = ENV_MOD_RR;
- SLOT->evs = SLOT->evsr;
- }
- break;
- case ENV_MOD_RR: /* RR -> OFF */
- SLOT->evc = EG_OFF;
- SLOT->eve = EG_OFF+1;
- SLOT->evs = 0;
- break;
- }
- }
- /* calculate envelope */
- return SLOT->TLL+ENV_CURVE[SLOT->evc>>ENV_BITS]+(SLOT->ams ? ams : 0);
-}
-
-/* set algorythm connection */
-static void set_algorythm( OPL_CH *CH)
-{
- INT32 *carrier = &outd[0];
- CH->connect1 = CH->CON ? carrier : &feedback2;
- CH->connect2 = carrier;
-}
-
-/* ---------- frequency counter for operater update ---------- */
-INLINE void CALC_FCSLOT(OPL_CH *CH,OPL_SLOT *SLOT)
-{
- int ksr;
-
- /* frequency step counter */
- SLOT->Incr = CH->fc * SLOT->mul;
- ksr = CH->kcode >> SLOT->KSR;
-
- if( SLOT->ksr != ksr )
- {
- SLOT->ksr = ksr;
- /* attack , decay rate recalculation */
- SLOT->evsa = SLOT->AR[ksr];
- SLOT->evsd = SLOT->DR[ksr];
- SLOT->evsr = SLOT->RR[ksr];
- }
- SLOT->TLL = SLOT->TL + (CH->ksl_base>>SLOT->ksl);
-}
-
-/* set multi,am,vib,EG-TYP,KSR,mul */
-INLINE void set_mul(FM_OPL *OPL,int slot,int v)
-{
- OPL_CH *CH = &OPL->P_CH[slot/2];
- OPL_SLOT *SLOT = &CH->SLOT[slot&1];
-
- SLOT->mul = MUL_TABLE[v&0x0f];
- SLOT->KSR = (v&0x10) ? 0 : 2;
- SLOT->eg_typ = (v&0x20)>>5;
- SLOT->vib = (v&0x40);
- SLOT->ams = (v&0x80);
- CALC_FCSLOT(CH,SLOT);
-}
-
-/* set ksl & tl */
-INLINE void set_ksl_tl(FM_OPL *OPL,int slot,int v)
-{
- OPL_CH *CH = &OPL->P_CH[slot/2];
- OPL_SLOT *SLOT = &CH->SLOT[slot&1];
- int ksl = v>>6; /* 0 / 1.5 / 3 / 6 db/OCT */
-
- SLOT->ksl = ksl ? 3-ksl : 31;
- SLOT->TL = (v&0x3f)*(0.75/EG_STEP); /* 0.75db step */
-
- if( !(OPL->mode&0x80) )
- { /* not CSM latch total level */
- SLOT->TLL = SLOT->TL + (CH->ksl_base>>SLOT->ksl);
- }
-}
-
-/* set attack rate & decay rate */
-INLINE void set_ar_dr(FM_OPL *OPL,int slot,int v)
-{
- OPL_CH *CH = &OPL->P_CH[slot/2];
- OPL_SLOT *SLOT = &CH->SLOT[slot&1];
- int ar = v>>4;
- int dr = v&0x0f;
-
- SLOT->AR = ar ? &OPL->AR_TABLE[ar<<2] : RATE_0;
- SLOT->evsa = SLOT->AR[SLOT->ksr];
- if( SLOT->evm == ENV_MOD_AR ) SLOT->evs = SLOT->evsa;
-
- SLOT->DR = dr ? &OPL->DR_TABLE[dr<<2] : RATE_0;
- SLOT->evsd = SLOT->DR[SLOT->ksr];
- if( SLOT->evm == ENV_MOD_DR ) SLOT->evs = SLOT->evsd;
-}
-
-/* set sustain level & release rate */
-INLINE void set_sl_rr(FM_OPL *OPL,int slot,int v)
-{
- OPL_CH *CH = &OPL->P_CH[slot/2];
- OPL_SLOT *SLOT = &CH->SLOT[slot&1];
- int sl = v>>4;
- int rr = v & 0x0f;
-
- SLOT->SL = SL_TABLE[sl];
- if( SLOT->evm == ENV_MOD_DR ) SLOT->eve = SLOT->SL;
- SLOT->RR = &OPL->DR_TABLE[rr<<2];
- SLOT->evsr = SLOT->RR[SLOT->ksr];
- if( SLOT->evm == ENV_MOD_RR ) SLOT->evs = SLOT->evsr;
-}
-
-/* operator output calculator */
-#define OP_OUT(slot,env,con) slot->wavetable[((slot->Cnt+con)/(0x1000000/SIN_ENT))&(SIN_ENT-1)][env]
-/* ---------- calculate channel ---------- */
-INLINE void OPL_CALC_CH( OPL_CH *CH )
-{
- UINT32 env_out;
- OPL_SLOT *SLOT;
-
- feedback2 = 0;
- /* SLOT 1 */
- SLOT = &CH->SLOT[SLOT1];
- env_out=OPL_CALC_SLOT(SLOT);
- if( env_out < EG_ENT-1 )
- {
- /* PG */
- if(SLOT->vib) SLOT->Cnt += (SLOT->Incr*vib/VIB_RATE);
- else SLOT->Cnt += SLOT->Incr;
- /* connection */
- if(CH->FB)
- {
- int feedback1 = (CH->op1_out[0]+CH->op1_out[1])>>CH->FB;
- CH->op1_out[1] = CH->op1_out[0];
- *CH->connect1 += CH->op1_out[0] = OP_OUT(SLOT,env_out,feedback1);
- }
- else
- {
- *CH->connect1 += OP_OUT(SLOT,env_out,0);
- }
- }else
- {
- CH->op1_out[1] = CH->op1_out[0];
- CH->op1_out[0] = 0;
- }
- /* SLOT 2 */
- SLOT = &CH->SLOT[SLOT2];
- env_out=OPL_CALC_SLOT(SLOT);
- if( env_out < EG_ENT-1 )
- {
- /* PG */
- if(SLOT->vib) SLOT->Cnt += (SLOT->Incr*vib/VIB_RATE);
- else SLOT->Cnt += SLOT->Incr;
- /* connection */
- outd[0] += OP_OUT(SLOT,env_out, feedback2);
- }
-}
-
-/* ---------- calculate rythm block ---------- */
-#define WHITE_NOISE_db 6.0
-INLINE void OPL_CALC_RH( OPL_CH *CH )
-{
- UINT32 env_tam,env_sd,env_top,env_hh;
- int whitenoise = (rand()&1)*(WHITE_NOISE_db/EG_STEP);
- INT32 tone8;
-
- OPL_SLOT *SLOT;
- int env_out;
-
- /* BD : same as FM serial mode and output level is large */
- feedback2 = 0;
- /* SLOT 1 */
- SLOT = &CH[6].SLOT[SLOT1];
- env_out=OPL_CALC_SLOT(SLOT);
- if( env_out < EG_ENT-1 )
- {
- /* PG */
- if(SLOT->vib) SLOT->Cnt += (SLOT->Incr*vib/VIB_RATE);
- else SLOT->Cnt += SLOT->Incr;
- /* connectoion */
- if(CH[6].FB)
- {
- int feedback1 = (CH[6].op1_out[0]+CH[6].op1_out[1])>>CH[6].FB;
- CH[6].op1_out[1] = CH[6].op1_out[0];
- feedback2 = CH[6].op1_out[0] = OP_OUT(SLOT,env_out,feedback1);
- }
- else
- {
- feedback2 = OP_OUT(SLOT,env_out,0);
- }
- }else
- {
- feedback2 = 0;
- CH[6].op1_out[1] = CH[6].op1_out[0];
- CH[6].op1_out[0] = 0;
- }
- /* SLOT 2 */
- SLOT = &CH[6].SLOT[SLOT2];
- env_out=OPL_CALC_SLOT(SLOT);
- if( env_out < EG_ENT-1 )
- {
- /* PG */
- if(SLOT->vib) SLOT->Cnt += (SLOT->Incr*vib/VIB_RATE);
- else SLOT->Cnt += SLOT->Incr;
- /* connectoion */
- outd[0] += OP_OUT(SLOT,env_out, feedback2)*2;
- }
-
- // SD (17) = mul14[fnum7] + white noise
- // TAM (15) = mul15[fnum8]
- // TOP (18) = fnum6(mul18[fnum8]+whitenoise)
- // HH (14) = fnum7(mul18[fnum8]+whitenoise) + white noise
- env_sd =OPL_CALC_SLOT(SLOT7_2) + whitenoise;
- env_tam=OPL_CALC_SLOT(SLOT8_1);
- env_top=OPL_CALC_SLOT(SLOT8_2);
- env_hh =OPL_CALC_SLOT(SLOT7_1) + whitenoise;
-
- /* PG */
- if(SLOT7_1->vib) SLOT7_1->Cnt += (2*SLOT7_1->Incr*vib/VIB_RATE);
- else SLOT7_1->Cnt += 2*SLOT7_1->Incr;
- if(SLOT7_2->vib) SLOT7_2->Cnt += ((CH[7].fc*8)*vib/VIB_RATE);
- else SLOT7_2->Cnt += (CH[7].fc*8);
- if(SLOT8_1->vib) SLOT8_1->Cnt += (SLOT8_1->Incr*vib/VIB_RATE);
- else SLOT8_1->Cnt += SLOT8_1->Incr;
- if(SLOT8_2->vib) SLOT8_2->Cnt += ((CH[8].fc*48)*vib/VIB_RATE);
- else SLOT8_2->Cnt += (CH[8].fc*48);
-
- tone8 = OP_OUT(SLOT8_2,whitenoise,0 );
-
- /* SD */
- if( env_sd < EG_ENT-1 )
- outd[0] += OP_OUT(SLOT7_1,env_sd, 0)*8;
- /* TAM */
- if( env_tam < EG_ENT-1 )
- outd[0] += OP_OUT(SLOT8_1,env_tam, 0)*2;
- /* TOP-CY */
- if( env_top < EG_ENT-1 )
- outd[0] += OP_OUT(SLOT7_2,env_top,tone8)*2;
- /* HH */
- if( env_hh < EG_ENT-1 )
- outd[0] += OP_OUT(SLOT7_2,env_hh,tone8)*2;
-}
-
-/* ----------- initialize time tabls ----------- */
-static void init_timetables( FM_OPL *OPL , int ARRATE , int DRRATE )
-{
- int i;
- double rate;
-
- /* make attack rate & decay rate tables */
- for (i = 0;i < 4;i++) OPL->AR_TABLE[i] = OPL->DR_TABLE[i] = 0;
- for (i = 4;i <= 60;i++){
- rate = OPL->freqbase; /* frequency rate */
- if( i < 60 ) rate *= 1.0+(i&3)*0.25; /* b0-1 : x1 , x1.25 , x1.5 , x1.75 */
- rate *= 1<<((i>>2)-1); /* b2-5 : shift bit */
- rate *= (double)(EG_ENT<<ENV_BITS);
- OPL->AR_TABLE[i] = rate / ARRATE;
- OPL->DR_TABLE[i] = rate / DRRATE;
- }
- for (i = 60;i < 76;i++)
- {
- OPL->AR_TABLE[i] = EG_AED-1;
- OPL->DR_TABLE[i] = OPL->DR_TABLE[60];
- }
-#if 0
- for (i = 0;i < 64 ;i++){ /* make for overflow area */
- LOG(LOG_WAR,("rate %2d , ar %f ms , dr %f ms \n",i,
- ((double)(EG_ENT<<ENV_BITS) / OPL->AR_TABLE[i]) * (1000.0 / OPL->rate),
- ((double)(EG_ENT<<ENV_BITS) / OPL->DR_TABLE[i]) * (1000.0 / OPL->rate) ));
- }
-#endif
-}
-
-/* ---------- generic table initialize ---------- */
-static int OPLOpenTable( void )
-{
- int s,t;
- double rate;
- int i,j;
- double pom;
-
- /* allocate dynamic tables */
- if( (TL_TABLE = malloc(TL_MAX*2*sizeof(INT32))) == NULL)
- return 0;
- if( (SIN_TABLE = malloc(SIN_ENT*4 *sizeof(INT32 *))) == NULL)
- {
- free(TL_TABLE);
- return 0;
- }
- if( (AMS_TABLE = malloc(AMS_ENT*2 *sizeof(INT32))) == NULL)
- {
- free(TL_TABLE);
- free(SIN_TABLE);
- return 0;
- }
- if( (VIB_TABLE = malloc(VIB_ENT*2 *sizeof(INT32))) == NULL)
- {
- free(TL_TABLE);
- free(SIN_TABLE);
- free(AMS_TABLE);
- return 0;
- }
- /* make total level table */
- for (t = 0;t < EG_ENT-1 ;t++){
- rate = ((1<<TL_BITS)-1)/pow(10,EG_STEP*t/20); /* dB -> voltage */
- TL_TABLE[ t] = (int)rate;
- TL_TABLE[TL_MAX+t] = -TL_TABLE[t];
-/* LOG(LOG_INF,("TotalLevel(%3d) = %x\n",t...
[truncated message content] |