debian/ 0000755 0000000 0000000 00000000000 12220337563 007171 5 ustar debian/compat 0000644 0000000 0000000 00000000002 12220337234 010362 0 ustar 9
debian/wolf4sdl.svg 0000644 0000000 0000000 00000010676 12220337234 011455 0 ustar
debian/wolf4sdl.install 0000644 0000000 0000000 00000000333 12220337234 012311 0 ustar wolf4sdl-* usr/games
debian/wolf4sdl.desktop usr/share/applications
debian/wolf4sdl.png usr/share/icons/hicolor/32x32/apps
debian/wolf4sdl.svg usr/share/icons/hicolor/scalable/apps
debian/wolf4sdl.xpm usr/share/pixmaps
debian/wolf4sdl.desktop 0000644 0000000 0000000 00000000261 12220337234 012314 0 ustar [Desktop Entry]
Type=Application
Name=Wolf4SDL
Comment=SDL-Port of Wolfenstein 3-D and Spear of Destiny
Icon=wolf4sdl
TryExec=wolf4sdl
Exec=wolf4sdl
Categories=Game;ActionGame;
debian/wolf4sdl.xpm 0000644 0000000 0000000 00000010574 12220337234 011457 0 ustar /* XPM */
static char *wolf4sdl[] = {
/* columns rows colors chars-per-pixel */
"32 32 140 2 ",
" c black",
". c #010000",
"X c #010101",
"o c #020000",
"O c #030000",
"+ c #020202",
"@ c gray1",
"# c #050000",
"$ c #050101",
"% c #050202",
"& c #060303",
"* c #040404",
"= c gray2",
"- c #060606",
"; c #070707",
": c #090303",
"> c #0E0000",
", c #080404",
"< c #0B0404",
"1 c #0B0505",
"2 c #0E0606",
"3 c gray3",
"4 c #090909",
"5 c gray4",
"6 c #0B0B0B",
"7 c #0C0C0C",
"8 c gray5",
"9 c #0E0E0E",
"0 c gray6",
"q c #120000",
"w c #140000",
"e c #160000",
"r c #190000",
"t c #1E0000",
"y c #180909",
"u c #111111",
"i c gray7",
"p c #131313",
"a c gray9",
"s c #1B1B1B",
"d c #1D1D1D",
"f c gray12",
"g c #260000",
"h c #2A0000",
"j c #2C0000",
"k c #280707",
"l c #220C0C",
"z c #2C0C0C",
"x c #300000",
"c c #2C1414",
"v c gray13",
"b c gray14",
"n c gray15",
"m c #282828",
"M c gray16",
"N c gray17",
"B c #2C2C2C",
"V c #2F2F2F",
"C c #373737",
"Z c gray22",
"A c gray23",
"S c #430000",
"D c #4D0000",
"F c #560000",
"G c #590000",
"H c #560E0E",
"J c #661111",
"K c #721313",
"L c #532121",
"P c #6B2C2C",
"I c #7E2222",
"U c #7C2B2B",
"Y c #753434",
"T c #414141",
"R c gray26",
"E c #444444",
"W c gray27",
"Q c #4C4C4C",
"! c gray32",
"~ c gray33",
"^ c #565656",
"/ c #5D5D5D",
"( c gray37",
") c #646464",
"_ c #656565",
"` c gray40",
"' c #686868",
"] c DimGray",
"[ c #6C6C6C",
"{ c gray43",
"} c #717171",
"| c #727272",
" . c gray46",
".. c #797979",
"X. c #7B7B7B",
"o. c #7E7E7E",
"O. c #8C2626",
"+. c #903F3F",
"@. c #A33939",
"#. c #A63A3A",
"$. c #BC4C4C",
"%. c #BF4D4D",
"&. c #D86060",
"*. c #D96060",
"=. c #818181",
"-. c #848484",
";. c gray52",
":. c gray53",
">. c #888888",
",. c #898989",
"<. c gray54",
"1. c #909090",
"2. c gray57",
"3. c #959595",
"4. c #9A9A9A",
"5. c #9B9B9B",
"6. c gray62",
"7. c gray63",
"8. c gray64",
"9. c gray66",
"0. c #AAAAAA",
"q. c gray67",
"w. c #ACACAC",
"e. c gray68",
"r. c #B2B2B2",
"t. c gray70",
"y. c #B4B4B4",
"u. c #B6B6B6",
"i. c #BBBBBB",
"p. c gray75",
"a. c #C8C8C8",
"s. c gray82",
"d. c gray84",
"f. c #D7D7D7",
"g. c #DADADA",
"h. c #E4E4E4",
"j. c #ECECEC",
"k. c #F6F6F6",
"l. c gray100",
"z. c None",
/* pixels */
"z.z.z.z.z.z.z.z.= z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.",
"z.z.z.z.z.z.= 6 R u = z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.",
"z.z.z.z.z.= f ` [ ] V + z.z.z.z.z.z.z.z.z.z.z.z.= z.z.z.z.z.z.z.",
"z.z.z.z.= C . . . . .^ 6 = z.z.z.z.z.z.z.z.= v ^ u 6 z.z.z.z.z.",
"z.z.z.= R o.o.o.-.o.o.o. .b = z.z.z.z.z.z.= ! o.o...A = z.z.z.z.",
"z.z.6 E ,.,.,.:.,.,.:.:.,.,.! + z.z.z.= a .,.,.,.:.:.` 6 = z.z.",
"z.z.f 1.1.1.1.1.1.1.1.1.1.1.1.+ z.z.z.0 ,.1.1.1.1.1.1.1.,.M 6 z.",
"z.= :.4.4.4.4.` b 4.6.4.4.4.4.+ z.z.= -.4.4.4.4.4.4.4.4.4.4.( + ",
"z.a 8.8.8.8.( 6 + 8.8.8.8.8.8.+ z.z.s 8.8.8.8.8.8.8.8.8.8.8.8.+ ",
"z.A w.w.9...6 z.+ 9.w.w.w.9.w.+ z.z.E w.w.w.w.[ B w.w.9.w.w.9.+ ",
"+ ( u.u.r.6 z.z.+ u.u.u.u.u.u.+ z.6 ] u.u.u.o.6 + u.u.u.u.u.u.+ ",
"z.R p.p.4.0 z.z.+ p.p.p.p.p.p.+ z.z.Q p.p.i.6 z.+ p.p.p.p.p.p.+ ",
"z.f a.a.-.u z.z.+ a.a.a.a.a.a.+ z.z.v a.a.8.0 z.+ a.a.a.a.a.a.+ ",
"z.= u.s.9.0 z.z.+ s.s.f.s.s.s.+ z.z.= 8.s.8.0 z.+ s.s.s.s.s.s.+ ",
"z.z.M f.f.6 z.z.+ f.f.f.f.f.g.+ z.z.z.0 w.f.6 z.+ f.g.g.f.f.f.+ ",
"z.z.0 | h.6.6 z.+ h.h.h.h.h.h.+ z.z.z.z.0 9.3.6 + h.h.h.h.h.h.+ ",
"z.z.z.6 r.j.[ 0 + j.j.j.j.j.j.+ z.z.z.z.z.6 u z.+ j.j.j.j.j.j.+ ",
"z.z.z.z.0 ,.0 z.+ k.k.k.k.k.k.+ z.z.z.z.z.z.z.z.+ k.k.k.k.k.k.+ ",
"z.z.z.z.z.0 z.z.+ l.l.l.l.l.l.+ z.6 + + + + 6 z.+ l.l.l.l.l.l.+ ",
"z.z.z.z.z.z.z.z.+ 9.w.w.9.9.9.+ z.M 9.9.9.9.+ z.+ 9.9.w.9.9.9.+ ",
"z.z.z.z.z.z.z.z.+ ^ ^ ^ ^ ^ ^ + = B ^ ^ ^ ^ + z.+ ^ ^ ^ ^ ^ ^ + ",
"z.z.z.z.z.z.z.z.+ + + + + + + + + + + + + + + z.+ + + + + + + + ",
"z.z.z.z.z.z.z.z.+ e e e e e e + + e e e e e + z.+ e e e e e q + ",
"z.z.z.z.z.z.z.z.+ j h h j h h + q j j j h h + + r h j j h h # z.",
"z.z.z.z.z.z.z.z.+ S S S S S S + x S S S S S + q S S S S S e + z.",
"z.z.z.z.z.z.z.z.+ G F G G G G g F G G F G G t D G G G G j # z.z.",
"z.z.z.z.z.z.z.z.+ K K K K K K K K K J k K K K K K K K H # z.z.z.",
"z.z.z.z.z.z.z.z.+ O.O.O.O.O.O.O.O.O.z + O.O.O.O.O.O.I : z.z.z.z.",
"z.z.z.z.z.z.z.z.# @.#.#.#.#.@.@.@.U : + @.#.#.#.@.@.l z.z.z.z.z.",
"z.z.z.z.z.z.z., P $.%.%.%.%.%.%.%.y z.+ %.$.%.%.%.L 1 z.z.z.z.z.",
"z.z.z.z.z.z.z.c &.&.*.*.*.*.*.*.Y 1 z.+ &.*.*.*.+.1 z.z.z.z.z.z.",
"z.z.z.z.z.z.1 + + + + + + + + + , z.z.# + + + + , z.z.z.z.z.z.z."
};
debian/man/ 0000755 0000000 0000000 00000000000 12220337234 007737 5 ustar debian/man/wolf4sdl.6 0000644 0000000 0000000 00000005347 12220337234 011575 0 ustar .TH WOLF4SDL 6 "December 2010" "1.6" "Wolf4SDL"
.SH NAME
wolf4sdl \- An open-source port of id Software's classic first-person shooter
.SH SYNOPSIS
.B wolf4sdl
.RI [ options ]
.B wolf4sdl-wl6
.RI [ options ]
.B wolf4sdl-wl6a
.RI [ options ]
.B wolf4sdl-wl1
.RI [ options ]
.B wolf4sdl-sod
.RI [ options ]
.B wolf4sdl-sdm
.RI [ options ]
.SH DESCRIPTION
.B Wolf4SDL
is an open-source port of id Software's classic first-person shooter
.B Wolfenstein 3D
to the cross-plattform multimedia library
.B "Simple DirectMedia Layer (SDL)"
(http://www.libsdl.org). It is meant to keep the original feel while taking advantage of some improvements.
The
.B wolf4sdl-wl6,
.B wolf4sdl-wl6a,
.B wolf4sdl-wl1,
.B wolf4sdl-sod
and
.B wolf4sdl-sdm
binaries start the
.B Wolf3d Full v1.4 GT/ID/Activision,
.B Wolf3d Full v1.4 Apogee (with ReadThis),
.B Wolf3d Shareware v1.4,
.B Spear of Destiny Full and Mission Disks
and
.B Spear of Destiny Demo
games, respectively. The
.B wolf4sdl
binary is a symbolic link to one of these and is handled via Debian's
.B update-alternatives
mechanism.
.SH OPTIONS
.TP
\fB\-\-help\fR
This help page
.TP
\fB\-\-tedlevel\fR
Starts the game in the given level
.TP
\fB\-\-baby\fR
Sets the difficulty to baby for tedlevel
.TP
\fB\-\-easy\fR
Sets the difficulty to easy for tedlevel
.TP
\fB\-\-normal\fR
Sets the difficulty to normal for tedlevel
.TP
\fB\-\-hard\fR
Sets the difficulty to hard for tedlevel
.TP
\fB\-\-nowait\fR
Skips intro screens
.TP
\fB\-\-windowed\fR
Starts the game in a window
.TP
\fB\-\-novert\fR
Suppresses vertical mouse movement
.TP
\fB\-\-crosshair\fR
Shows a crosshair
.TP
\fB\-\-res\fR
Sets the screen resolution
(must be multiple of 320x200 or 320x240)
.TP
\fB\-\-resf\fR
Sets any screen resolution >= 320x200
(which may result in graphic errors)
.TP
\fB\-\-bits\fR
Sets the screen color depth
(use this when you have palette/fading problems
allowed: 8, 16, 24, 32, default: "best" depth)
.TP
\fB\-\-joystick\fR
Use the index\-th joystick if available
(\-1 to disable joystick, default: 0)
.TP
\fB\-\-joystickhat\fR
Enables movement with the given coolie hat
.TP
\fB\-\-samplerate\fR
Sets the sound sample rate (given in Hz, default: 44100)
.TP
\fB\-\-audiobuffer\fR
Sets the size of the audio buffer (\-> sound latency)
(given in bytes, default: 2048 / (44100 / samplerate))
.TP
\fB\-\-ignorenumchunks\fR
Ignores the number of chunks in VGAHEAD.*
(may be useful for some broken mods)
.SH AUTHORS
Wolf4SDL v1.6 ($Revision: 232 $)
.PP
Ported by Chaos-Software (http://www.chaos-software.de.vu)
.PP
Original Wolfenstein 3D by id Software
.PP
This manual page was written by Fabian Greffrath
for the Debian project (but may be used by others).
debian/control 0000644 0000000 0000000 00000003262 12220337234 010572 0 ustar Source: wolf4sdl
Section: contrib/games
Priority: extra
Maintainer: Debian Games Team
Uploaders: Fabian Greffrath
Build-Depends: debhelper (>= 9),
libsdl1.2-dev,
libsdl-mixer1.2-dev
Standards-Version: 3.9.2
Homepage: http://www.chaos-software.de.vu/
Vcs-Git: git://anonscm.debian.org/pkg-games/wolf4sdl.git
Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-games/wolf4sdl.git;a=summary
Package: wolf4sdl
Architecture: any
Depends: ${shlibs:Depends},
${misc:Depends},
wolf3d-data | game-data-packager (>= 27)
Description: SDL-Port of Wolfenstein 3-D and Spear of Destiny
Maybe it was the fact that people got to blow away Nazis. Maybe it was the
sheer challenge of it all. For whatever reason, Wolfenstein 3-D and Spear of
Destiny, pioneered the first-person shooter genre and brought its legendary
creators, id Software, worldwide notoriety and numerous awards. In fact, The
Computer Gaming World Hall of Fame recognized Wolfenstein 3D as helping to
shape the overall direction of the computer gaming industry.
.
Wolf4SDL is an open-source port of id Software's classic first-person shooter
Wolfenstein 3-D to the cross-platform multimedia library "Simple DirectMedia
Layer (SDL)" (http://www.libsdl.org). It is meant to keep the original feel
while taking advantage of some improvements.
.
The wolf4sdl game requires additional data files which are not available
under a free license and cannot be distributed by Debian. Thus, this package
contains no data files, but current releases of `game-data-packager' are
able to generate suitable data packages from the publicly available
Wolfenstein 3-D shareware episode.
debian/source/ 0000755 0000000 0000000 00000000000 12220337234 010464 5 ustar debian/source/format 0000644 0000000 0000000 00000000014 12220337234 011672 0 ustar 3.0 (quilt)
debian/source/include-binaries 0000644 0000000 0000000 00000000024 12220337234 013620 0 ustar debian/wolf4sdl.png
debian/copyright 0000644 0000000 0000000 00000004425 12220337234 011124 0 ustar Format: http://anonscm.debian.org/viewvc/dep/web/deps/dep5.mdwn?revision=174
Upstream-Name: Wolf4SDL
Upstream-Contact: Moritz "Ripper" Kroll
Source: http://www.alice-dsl.net/mkroll/downloads.html
Files: *
Copyright: © 1992 Id Software, Inc.
License: GPL-2.0+
Comment:
From: John Carmack
To: Fabian Greffrath
Subject: Re: License of Wolf3d source code
Date: Thu, 1 Sep 2011 14:08:38 +0000
.
Yes, we relicensed it under the gpl years ago.
.
Sent from my iPad
.
On Sep 1, 2011, at 2:57 AM, "Fabian Greffrath" wrote=
:
.
> Dear Mr. Carmack,
>=20
> I have just recently found out that you have released a Wolf3d app for th=
e Apple iphone and also released its source code under the terms of the GNU=
GPL. My question is, does this also apply to the original wolf3d source co=
de that is distributed in the wolfsrc.zip file from 1996?
>=20
> With its current license, the source code is not redistributable by Linux=
distributions like e.g. Debian. This is a pity, because many people still =
like to play the game or one of its numerous open source ports.
>=20
> so could you please you give confirmation that the original wolf3d source=
code is relicensed under the terms of the GNU GPL?
>=20
> Best regards,
> Fabian Greffrath
Files: dosbox/*
Copyright: © 2002-2010, The DOSBox Team
License: GPL-2.0+
Files: debian/*
Copyright: © 2010-2013, Fabian Greffrath
License: GPL-2.0+
License: GPL-2.0+
This package 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 package 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, see
.
On Debian systems, the complete text of the GNU General
Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
debian/watch 0000644 0000000 0000000 00000000176 12220337234 010221 0 ustar version=3
opts=dversionmangle=s/\+dfsg1// \
http://www.alice-dsl.net/mkroll/downloads.html \
bins/Wolf4SDL-([\d\.]*)-src\.zip
debian/gbp.conf 0000644 0000000 0000000 00000000057 12220337234 010605 0 ustar [DEFAULT]
pristine-tar = True
sign-tags = True
debian/wolf4sdl.postinst 0000644 0000000 0000000 00000001104 12220337234 012523 0 ustar #!/bin/sh
set -e
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ]
then
update-alternatives --quiet --install /usr/games/wolf4sdl wolf4sdl /usr/games/wolf4sdl-wl1 30
update-alternatives --quiet --install /usr/games/wolf4sdl wolf4sdl /usr/games/wolf4sdl-wl6 20
update-alternatives --quiet --install /usr/games/wolf4sdl wolf4sdl /usr/games/wolf4sdl-wl6a 20
update-alternatives --quiet --install /usr/games/wolf4sdl wolf4sdl /usr/games/wolf4sdl-sod 20
update-alternatives --quiet --install /usr/games/wolf4sdl wolf4sdl /usr/games/wolf4sdl-sdm 20
fi
#DEBHELPER#
debian/clean 0000644 0000000 0000000 00000000061 12220337234 010166 0 ustar wl_shade.d
wl_shade.o
wolf3d
wolf4sdl
wolf4sdl-*
debian/rules 0000755 0000000 0000000 00000003536 12220337234 010253 0 ustar #!/usr/bin/make -f
DEB_CFLAGS_MAINT_APPEND += $(shell dpkg-buildflags --get CPPFLAGS)
DEB_CFLAGS_MAINT_APPEND += -Wall -Wno-sign-compare -Wno-switch
DEB_CFLAGS_MAINT_APPEND += -DDATADIR=\"/usr/share/games/wolf3d/\"
DEB_CFLAGS_MAINT_APPEND += -fno-toplevel-reorder
DEB_LDFLAGS_MAINT_APPEND += -Wl,-z,defs -Wl,--as-needed
export DEB_CFLAGS_MAINT_APPEND DEB_LDFLAGS_MAINT_APPEND
export GPL=1 Q=""
define set_defines
@$(foreach def, $(1), \
if [ "$(shell echo $(def) | cut -c1)" = "-" ]; then \
sed -e "s|^\(//\)\?\(#define $(shell echo $(def) | cut -c2-)\)|//\2|" -i version.h; \
elif [ "$(shell echo $(def) | cut -c1)" = "+" ]; then \
sed -e "s|^\(//\)\?\(#define $(shell echo $(def) | cut -c2-)\)|\2|" -i version.h; \
fi; \
)
endef
debian/wolf4sdl.xpm: debian/wolf4sdl.png
convert $^ $@
debian/wolf4sdl.png: debian/wolf4sdl.svg
inkscape --export-png=$@ $^
%:
dh $@
override_dh_auto_build:
# Wolf3d Full v1.4 GT/ID/Activision
$(MAKE) clean
$(call set_defines,-SPEAR -SPEARDEMO -UPLOAD +GOODTIMES +CARMACIZED)
dh_auto_build -- BINARY=wolf4sdl-wl6
# Wolf3d Full v1.4 Apogee (with ReadThis)
$(MAKE) clean
$(call set_defines,-SPEAR -SPEARDEMO -UPLOAD -GOODTIMES +CARMACIZED)
dh_auto_build -- BINARY=wolf4sdl-wl6a
# Wolf3d Shareware v1.4
$(MAKE) clean
$(call set_defines,-SPEAR -SPEARDEMO +UPLOAD -GOODTIMES +CARMACIZED)
dh_auto_build -- BINARY=wolf4sdl-wl1
# Spear of Destiny Full and Mission Disks (and GOODTIMES for no FormGen quiz)
$(MAKE) clean
$(call set_defines,+SPEAR -SPEARDEMO -UPLOAD +GOODTIMES +CARMACIZED)
dh_auto_build -- BINARY=wolf4sdl-sod
# Spear of Destiny Demo
$(MAKE) clean
$(call set_defines,+SPEAR +SPEARDEMO -UPLOAD -GOODTIMES +CARMACIZED)
dh_auto_build -- BINARY=wolf4sdl-sdm
override_dh_auto_clean:
$(call set_defines,-SPEAR -SPEARDEMO -UPLOAD +GOODTIMES +CARMACIZED)
dh_auto_clean
override_dh_auto_install:
debian/patches/ 0000755 0000000 0000000 00000000000 12220337234 010613 5 ustar debian/patches/42-mousewheel.patch 0000644 0000000 0000000 00000002555 12220337234 014243 0 ustar Subject: Change weapons with the mouse wheel.
Author: Fabian Greffrath
--- a/id_in.cpp
+++ b/id_in.cpp
@@ -237,6 +237,8 @@ boolean IN_JoyPresent()
return Joystick != NULL;
}
+boolean mw_dn = false, mw_up = false;
+
static void processEvent(SDL_Event *event)
{
switch (event->type)
@@ -328,6 +330,15 @@ static void processEvent(SDL_Event *even
break;
}
+ case SDL_MOUSEBUTTONDOWN:
+ {
+ if (event->button.button == SDL_BUTTON_WHEELDOWN)
+ mw_dn = true;
+ else if(event->button.button == SDL_BUTTON_WHEELUP)
+ mw_up = true;
+ break;
+ }
+
case SDL_ACTIVEEVENT:
{
if(fullscreen && (event->active.state & SDL_APPACTIVE) != 0)
--- a/wl_play.cpp
+++ b/wl_play.cpp
@@ -273,6 +273,7 @@ void PollKeyboardButtons (void)
void PollMouseButtons (void)
{
int buttons = IN_MouseButtons ();
+ extern boolean mw_dn, mw_up;
if (buttons & 1)
buttonstate[buttonmouse[0]] = true;
@@ -280,6 +281,12 @@ void PollMouseButtons (void)
buttonstate[buttonmouse[1]] = true;
if (buttons & 4)
buttonstate[buttonmouse[2]] = true;
+
+ if (mw_dn)
+ buttonstate[bt_prevweapon] = true;
+ if (mw_up)
+ buttonstate[bt_nextweapon] = true;
+ mw_dn = mw_up = false;
}
debian/patches/31-pc-speaker.patch 0000644 0000000 0000000 00000016364 12220337234 014121 0 ustar Subject: PC speaker emulation
Origin: http://www.fileden.com/files/2010/12/31/3049394/pc-speaker-by-ljbade-build255.patch
Forwarded: http://www.shoppark.de/cgi-bin/abrakadabra.cgi?id=chaosdeluxe
Author: Leith Bade (ljbade)
Reviewed-by: chrisl
--- a/id_sd.cpp
+++ b/id_sd.cpp
@@ -466,28 +466,29 @@ SDL_PCStopSampleInIRQ(void)
_asm and al,0xfd // ~2
_asm out 0x61,al
}
+#endif
///////////////////////////////////////////////////////////////////////////
//
// SDL_PCPlaySound() - Plays the specified sound on the PC speaker
//
///////////////////////////////////////////////////////////////////////////
-#ifdef _MUSE_
-void
-#else
static void
-#endif
SDL_PCPlaySound(PCSound *sound)
{
+/*
// _asm pushfd
_asm cli
+*/
pcLastSample = -1;
pcLengthLeft = sound->common.length;
pcSound = sound->data;
+/*
// _asm popfd
_asm sti
+*/
}
///////////////////////////////////////////////////////////////////////////
@@ -495,24 +496,24 @@ SDL_PCPlaySound(PCSound *sound)
// SDL_PCStopSound() - Stops the current sound playing on the PC Speaker
//
///////////////////////////////////////////////////////////////////////////
-#ifdef _MUSE_
-void
-#else
static void
-#endif
SDL_PCStopSound(void)
{
+/*
// _asm pushfd
_asm cli
+*/
pcSound = 0;
+/*
_asm in al,0x61 // Turn the speaker off
_asm and al,0xfd // ~2
_asm out 0x61,al
// _asm popfd
_asm sti
+*/
}
///////////////////////////////////////////////////////////////////////////
@@ -523,20 +524,141 @@ SDL_PCStopSound(void)
static void
SDL_ShutPC(void)
{
+/*
// _asm pushfd
_asm cli
+*/
pcSound = 0;
+/*
_asm in al,0x61 // Turn the speaker & gate off
_asm and al,0xfc // ~3
_asm out 0x61,al
// _asm popfd
_asm sti
+*/
}
-#endif
+// Adapted from Chocolate Doom (chocolate-doom/pcsound/pcsound_sdl.c)
+#define SQUARE_WAVE_AMP 0x2000
+
+static void SDL_PCMixCallback(void *udata, Uint8 *stream, int len)
+{
+ static int current_remaining = 0;
+ static int current_freq = 0;
+ static int phase_offset = 0;
+
+ Sint16 *leftptr;
+ Sint16 *rightptr;
+ Sint16 this_value;
+ int oldfreq;
+ int i;
+ int nsamples;
+
+ // Number of samples is quadrupled, because of 16-bit and stereo
+
+ nsamples = len / 4;
+
+ leftptr = (Sint16 *) stream;
+ rightptr = ((Sint16 *) stream) + 1;
+
+ // Fill the output buffer
+
+ for (i=0; ipriority < SoundPriority)
return 0;
@@ -1244,9 +1369,6 @@ SD_PlaySound(soundnames sound)
SoundPositioned = ispos;
SoundNumber = sound;
SoundPriority = s->priority;
-#else
- return 0;
-#endif
}
else
{
@@ -1276,7 +1398,7 @@ SD_PlaySound(soundnames sound)
switch (SoundMode)
{
case sdm_PC:
-// SDL_PCPlaySound((PCSound *)s);
+ SDL_PCPlaySound((PCSound *)s);
break;
case sdm_AdLib:
SDL_ALPlaySound((AdLibSound *)s);
@@ -1330,7 +1452,7 @@ SD_StopSound(void)
switch (SoundMode)
{
case sdm_PC:
-// SDL_PCStopSound();
+ SDL_PCStopSound();
break;
case sdm_AdLib:
SDL_ALStopSound();
--- a/wl_menu.cpp
+++ b/wl_menu.cpp
@@ -104,7 +104,7 @@ CP_itemtype SndMenu[] = {
{1, "", 0},
#else
{1, STR_NONE, 0},
- {0, STR_PC, 0},
+ {1, STR_PC, 0},
{1, STR_ALSB, 0},
{0, "", 0},
{0, "", 0},
debian/patches/44-autostrafe.patch 0000644 0000000 0000000 00000004546 12220337234 014247 0 ustar Subject: Toggle autostrafe for the keyboard when both Alt keys are pressed.
By the way, accept the German AltGr key as a right Alt key.
Author: Fabian Greffrath
--- a/id_in.cpp
+++ b/id_in.cpp
@@ -239,6 +239,7 @@ boolean IN_JoyPresent()
boolean mw_dn = false, mw_up = false;
boolean autorun = false;
+boolean autostrafe = false;
static void processEvent(SDL_Event *event)
{
@@ -262,6 +263,9 @@ static void processEvent(SDL_Event *even
SDLMod mod = SDL_GetModState();
if ((mod & KMOD_LSHIFT) && (mod & KMOD_RSHIFT))
autorun = !autorun;
+ if (((mod & KMOD_LALT) && (mod & KMOD_RALT)) ||
+ ((mod & KMOD_LALT) && (mod & KMOD_MODE)))
+ autostrafe = !autostrafe;
if(Keyboard[sc_Alt])
{
@@ -272,6 +276,7 @@ static void processEvent(SDL_Event *even
if(LastScan == SDLK_KP_ENTER) LastScan = SDLK_RETURN;
else if(LastScan == SDLK_RSHIFT) LastScan = SDLK_LSHIFT;
else if(LastScan == SDLK_RALT) LastScan = SDLK_LALT;
+ else if(LastScan == SDLK_MODE) LastScan = SDLK_LALT; /* AltGr */
else if(LastScan == SDLK_RCTRL) LastScan = SDLK_LCTRL;
else
{
@@ -314,6 +319,7 @@ static void processEvent(SDL_Event *even
if(key == SDLK_KP_ENTER) key = SDLK_RETURN;
else if(key == SDLK_RSHIFT) key = SDLK_LSHIFT;
else if(key == SDLK_RALT) key = SDLK_LALT;
+ else if(key == SDLK_MODE) key = SDLK_LALT; /* AltGr */
else if(key == SDLK_RCTRL) key = SDLK_LCTRL;
else
{
--- a/wl_play.cpp
+++ b/wl_play.cpp
@@ -329,15 +329,22 @@ void PollJoystickButtons (void)
void PollKeyboardMove (void)
{
int delta = buttonstate[bt_run] ? RUNMOVE * tics : BASEMOVE * tics;
+ extern boolean autostrafe;
if (Keyboard[dirscan[di_north]])
controly -= delta;
if (Keyboard[dirscan[di_south]])
controly += delta;
if (Keyboard[dirscan[di_west]])
- controlx -= delta;
+ if (autostrafe)
+ buttonstate[bt_strafeleft] = true;
+ else
+ controlx -= delta;
if (Keyboard[dirscan[di_east]])
- controlx += delta;
+ if (autostrafe)
+ buttonstate[bt_straferight] = true;
+ else
+ controlx += delta;
}
debian/patches/21-compiler-warnings.patch 0000644 0000000 0000000 00000053251 12220337234 015522 0 ustar Subject: Fix some compiler warnings so the code compiles cleanly with
g++-4.5 and CFLAGS+="-Wall -Wno-sign-compare -Wno-switch".
Author: Fabian Greffrath
--- a/id_ca.cpp
+++ b/id_ca.cpp
@@ -25,7 +25,6 @@ loaded into the data segment
#endif
#include "wl_def.h"
-#pragma hdrstop
#define THREEBYTEGRSTARTS
@@ -693,7 +692,7 @@ void CA_Startup (void)
void CA_Shutdown (void)
{
- int i,start;
+ int i,start = STARTADLIBSOUNDS;
if(maphandle != -1)
close(maphandle);
@@ -803,7 +802,7 @@ void CA_CacheAdlibSoundChunk (int chunk)
void CA_LoadAllSounds (void)
{
- unsigned start,i;
+ unsigned start = STARTADLIBSOUNDS,i;
switch (oldsoundmode)
{
@@ -1045,7 +1044,7 @@ void CA_CacheMap (int mapnum)
int32_t pos,compressed;
int plane;
word *dest;
- memptr bigbufferseg;
+ memptr bigbufferseg = 0;
unsigned size;
word *source;
#ifdef CARMACIZED
--- a/id_pm.cpp
+++ b/id_pm.cpp
@@ -82,7 +82,7 @@ void PM_Startup()
uint8_t *ptr = (uint8_t *) PMPageData;
for(i = 0; i < ChunksInFile; i++)
{
- if(i >= PMSpriteStart && i < PMSoundStart || i == ChunksInFile - 1)
+ if((i >= PMSpriteStart && i < PMSoundStart) || i == ChunksInFile - 1)
{
size_t offs = ptr - (uint8_t *) PMPageData;
--- a/id_sd.cpp
+++ b/id_sd.cpp
@@ -849,6 +849,7 @@ SDL_ShutAL(void)
// SDL_CleanAL() - Totally shuts down the AdLib card
//
///////////////////////////////////////////////////////////////////////////
+/*
static void
SDL_CleanAL(void)
{
@@ -858,6 +859,7 @@ SDL_CleanAL(void)
for (i = 1; i < 0xf5; i++)
alOut(i, 0);
}
+*/
///////////////////////////////////////////////////////////////////////////
//
@@ -877,6 +879,7 @@ SDL_StartAL(void)
// emulating an AdLib) present
//
///////////////////////////////////////////////////////////////////////////
+/*
static boolean
SDL_DetectAdLib(void)
{
@@ -888,6 +891,7 @@ SDL_DetectAdLib(void)
return true;
}
+*/
////////////////////////////////////////////////////////////////////////////
//
@@ -914,12 +918,14 @@ SDL_ShutDevice(void)
// SDL_CleanDevice() - totally shuts down all sound devices
//
///////////////////////////////////////////////////////////////////////////
+/*
static void
SDL_CleanDevice(void)
{
if ((SoundMode == sdm_AdLib) || (MusicMode == smm_AdLib))
SDL_CleanAL();
}
+*/
///////////////////////////////////////////////////////////////////////////
//
--- a/id_us_1.cpp
+++ b/id_us_1.cpp
@@ -22,7 +22,6 @@
#include "wl_def.h"
-#pragma hdrstop
#if _MSC_VER == 1200 // Visual C++ 6
#define vsnprintf _vsnprintf
@@ -177,7 +176,7 @@ void
US_PrintUnsigned(longword n)
{
char buffer[32];
- sprintf(buffer, "%lu", n);
+ sprintf(buffer, "%lu", (long unsigned int) n);
US_Print(buffer);
}
@@ -488,11 +487,11 @@ US_LineInput(int x,int y,char *buf,const
{
boolean redraw,
cursorvis,cursormoved,
- done,result, checkkey;
+ done,result = false, checkkey;
ScanCode sc;
char c;
char s[MaxString],olds[MaxString];
- int cursor,len;
+ int cursor,len = 0;
word i,
w,h,
temp;
@@ -530,7 +529,7 @@ US_LineInput(int x,int y,char *buf,const
curtime = GetTimeCount();
// After each direction change accept the next change after 250 ms and then everz 125 ms
- if(ci.dir != lastdir || curtime - lastdirtime > TickBase / 4 && curtime - lastdirmovetime > TickBase / 8)
+ if(ci.dir != lastdir || (curtime - lastdirtime > TickBase / 4 && curtime - lastdirmovetime > TickBase / 8))
{
if(ci.dir != lastdir)
{
@@ -558,7 +557,7 @@ US_LineInput(int x,int y,char *buf,const
if(!s[cursor])
{
USL_MeasureString(s,&w,&h);
- if(len >= maxchars || maxwidth && w >= maxwidth) break;
+ if(len >= maxchars || (maxwidth && w >= maxwidth)) break;
s[cursor] = ' ';
s[cursor + 1] = 0;
@@ -572,7 +571,7 @@ US_LineInput(int x,int y,char *buf,const
if(!s[cursor])
{
USL_MeasureString(s,&w,&h);
- if(len >= maxchars || maxwidth && w >= maxwidth) break;
+ if(len >= maxchars || (maxwidth && w >= maxwidth)) break;
s[cursor + 1] = 0;
}
s[cursor] = USL_RotateChar(s[cursor], 1);
@@ -584,7 +583,7 @@ US_LineInput(int x,int y,char *buf,const
if(!s[cursor])
{
USL_MeasureString(s,&w,&h);
- if(len >= maxchars || maxwidth && w >= maxwidth) break;
+ if(len >= maxchars || (maxwidth && w >= maxwidth)) break;
s[cursor + 1] = 0;
}
s[cursor] = USL_RotateChar(s[cursor], -1);
--- a/id_vh.cpp
+++ b/id_vh.cpp
@@ -356,7 +356,7 @@ boolean FizzleFade (SDL_Surface *source,
unsigned width, unsigned height, unsigned frames, boolean abortable)
{
unsigned x, y, frame, pixperframe;
- int32_t rndval, lastrndval;
+ int32_t rndval = 0, lastrndval;
int first = 1;
lastrndval = 0;
--- a/id_vl.cpp
+++ b/id_vl.cpp
@@ -2,7 +2,6 @@
#include
#include "wl_def.h"
-#pragma hdrstop
// Uncomment the following line, if you get destination out of bounds
// assertion errors and want to ignore them during debugging
--- a/wl_act1.cpp
+++ b/wl_act1.cpp
@@ -1,7 +1,6 @@
// WL_ACT1.C
#include "wl_def.h"
-#pragma hdrstop
/*
=============================================================================
@@ -17,6 +16,7 @@ statobj_t *laststatobj;
struct
+statinfo_t
{
short picnum;
wl_stat_t type;
@@ -844,7 +844,7 @@ void MovePWalls (void)
pwally += dy;
if (actorat[pwallx+dx][pwally+dy]
- || xl<=pwallx+dx && pwallx+dx<=xh && yl<=pwally+dy && pwally+dy<=yh)
+ || (xl<=pwallx+dx && pwallx+dx<=xh && yl<=pwally+dy && pwally+dy<=yh))
{
pwallstate = 0;
tilemap[pwallx][pwally] = oldtile;
--- a/wl_act2.cpp
+++ b/wl_act2.cpp
@@ -3,7 +3,6 @@
#include
#include
#include "wl_def.h"
-#pragma hdrstop
/*
=============================================================================
@@ -307,7 +306,7 @@ boolean ProjectileTryMove (objtype *ob)
void T_Projectile (objtype *ob)
{
int32_t deltax,deltay;
- int damage;
+ int damage = 0;
int32_t speed;
speed = (int32_t)ob->speed*tics;
--- a/wl_agent.cpp
+++ b/wl_agent.cpp
@@ -1,7 +1,6 @@
// WL_AGENT.C
#include "wl_def.h"
-#pragma hdrstop
/*
=============================================================================
@@ -163,15 +162,11 @@ void CheckWeaponChange (void)
void ControlMovement (objtype *ob)
{
- int32_t oldx,oldy;
int angle;
int angleunits;
thrustspeed = 0;
- oldx = player->x;
- oldy = player->y;
-
if(buttonstate[bt_strafeleft])
{
angle = ob->angle + ANGLES/4;
--- a/wl_debug.cpp
+++ b/wl_debug.cpp
@@ -7,7 +7,6 @@
#endif
#include "wl_def.h"
-#pragma hdrstop
#ifdef USE_CLOUDSKY
#include "wl_cloudsky.h"
@@ -52,7 +51,7 @@ void SimpleScaleShape (int xcenter, int
int maporgx;
int maporgy;
-enum {mapview,tilemapview,actoratview,visview} viewtype;
+enum viewtype_t {mapview,tilemapview,actoratview,visview} viewtype;
void ViewMap (void);
@@ -181,7 +180,7 @@ void BasicOverhead (void)
// left side (filtered)
uintptr_t tile;
- int color;
+ int color = 0;
offx -= 128;
for(x=0;x> 6);
if((yintbuf >> 16) == focalty) // ray hits pushwall back?
@@ -1166,8 +1165,8 @@ void AsmRefresh()
continue;
}
}
- else if(pwalldir == di_south && ytilestep == 1
- || pwalldir == di_north && ytilestep == -1)
+ else if((pwalldir == di_south && ytilestep == 1)
+ || (pwalldir == di_north && ytilestep == -1))
{
int32_t xintbuf = xintercept - ((xstep * (64 - pwallpos)) >> 6);
if((xintbuf >> 16) == focaltx) // ray hits pushwall back?
@@ -1237,8 +1236,8 @@ vertentry:
pwallposnorm = pwallpos;
pwallposinv = 64-pwallpos;
}
- if(pwalldir == di_east && xtile==pwallx && ((uint32_t)yintercept>>16)==pwally
- || pwalldir == di_west && !(xtile==pwallx && ((uint32_t)yintercept>>16)==pwally))
+ if((pwalldir == di_east && xtile==pwallx && ((uint32_t)yintercept>>16)==pwally)
+ || (pwalldir == di_west && !(xtile==pwallx && ((uint32_t)yintercept>>16)==pwally)))
{
yintbuf=yintercept+((ystep*pwallposnorm)>>6);
if((yintbuf>>16)!=(yintercept>>16))
@@ -1267,13 +1266,13 @@ vertentry:
{
int pwallposi = pwallpos;
if(pwalldir==di_north) pwallposi = 64-pwallpos;
- if(pwalldir==di_south && (word)yintercept<(pwallposi<<10)
- || pwalldir==di_north && (word)yintercept>(pwallposi<<10))
+ if((pwalldir==di_south && (word)yintercept<(pwallposi<<10))
+ || (pwalldir==di_north && (word)yintercept>(pwallposi<<10)))
{
if(((uint32_t)yintercept>>16)==pwally && xtile==pwallx)
{
- if(pwalldir==di_south && (int32_t)((word)yintercept)+ystep<(pwallposi<<10)
- || pwalldir==di_north && (int32_t)((word)yintercept)+ystep>(pwallposi<<10))
+ if((pwalldir==di_south && (int32_t)((word)yintercept)+ystep<(pwallposi<<10))
+ || (pwalldir==di_north && (int32_t)((word)yintercept)+ystep>(pwallposi<<10)))
goto passvert;
if(pwalldir==di_south)
@@ -1306,8 +1305,8 @@ vertentry:
}
else
{
- if(pwalldir==di_south && (int32_t)((word)yintercept)+ystep>(pwallposi<<10)
- || pwalldir==di_north && (int32_t)((word)yintercept)+ystep<(pwallposi<<10))
+ if((pwalldir==di_south && (int32_t)((word)yintercept)+ystep>(pwallposi<<10))
+ || (pwalldir==di_north && (int32_t)((word)yintercept)+ystep<(pwallposi<<10)))
goto passvert;
if(pwalldir==di_south)
@@ -1392,8 +1391,8 @@ horizentry:
pwallposnorm = pwallpos;
pwallposinv = 64-pwallpos;
}
- if(pwalldir == di_south && ytile==pwally && ((uint32_t)xintercept>>16)==pwallx
- || pwalldir == di_north && !(ytile==pwally && ((uint32_t)xintercept>>16)==pwallx))
+ if((pwalldir == di_south && ytile==pwally && ((uint32_t)xintercept>>16)==pwallx)
+ || (pwalldir == di_north && !(ytile==pwally && ((uint32_t)xintercept>>16)==pwallx)))
{
xintbuf=xintercept+((xstep*pwallposnorm)>>6);
if((xintbuf>>16)!=(xintercept>>16))
@@ -1422,13 +1421,13 @@ horizentry:
{
int pwallposi = pwallpos;
if(pwalldir==di_west) pwallposi = 64-pwallpos;
- if(pwalldir==di_east && (word)xintercept<(pwallposi<<10)
- || pwalldir==di_west && (word)xintercept>(pwallposi<<10))
+ if((pwalldir==di_east && (word)xintercept<(pwallposi<<10))
+ || (pwalldir==di_west && (word)xintercept>(pwallposi<<10)))
{
if(((uint32_t)xintercept>>16)==pwallx && ytile==pwally)
{
- if(pwalldir==di_east && (int32_t)((word)xintercept)+xstep<(pwallposi<<10)
- || pwalldir==di_west && (int32_t)((word)xintercept)+xstep>(pwallposi<<10))
+ if((pwalldir==di_east && (int32_t)((word)xintercept)+xstep<(pwallposi<<10))
+ || (pwalldir==di_west && (int32_t)((word)xintercept)+xstep>(pwallposi<<10)))
goto passhoriz;
if(pwalldir==di_east)
@@ -1461,8 +1460,8 @@ horizentry:
}
else
{
- if(pwalldir==di_east && (int32_t)((word)xintercept)+xstep>(pwallposi<<10)
- || pwalldir==di_west && (int32_t)((word)xintercept)+xstep<(pwallposi<<10))
+ if((pwalldir==di_east && (int32_t)((word)xintercept)+xstep>(pwallposi<<10))
+ || (pwalldir==di_west && (int32_t)((word)xintercept)+xstep<(pwallposi<<10)))
goto passhoriz;
if(pwalldir==di_east)
--- a/wl_game.cpp
+++ b/wl_game.cpp
@@ -3,7 +3,6 @@
#include
#include "wl_def.h"
#include
-#pragma hdrstop
#ifdef MYPROFILE
#include
@@ -1178,7 +1177,8 @@ void PlayDemo (int demonumber)
NewGame (1,0);
gamestate.mapon = *demoptr++;
gamestate.difficulty = gd_hard;
- length = READWORD(*(uint8_t **)&demoptr);
+ length = demoptr[0] | demoptr[1] << 8;
+ demoptr+=2;
// TODO: Seems like the original demo format supports 16 MB demos
// But T_DEM00 and T_DEM01 of Wolf have a 0xd8 as third length size...
demoptr++;
--- a/wl_inter.cpp
+++ b/wl_inter.cpp
@@ -1,7 +1,6 @@
// WL_INTER.C
#include "wl_def.h"
-#pragma hdrstop
LRstruct LevelRatios[LRpack];
int32_t lastBreathTime = 0;
@@ -386,7 +385,7 @@ Write (int x, int y, const char *string)
break;
default:
- VWB_DrawPic (nx, ny, alpha[ch]);
+ VWB_DrawPic (nx, ny, alpha[(int)ch]);
}
nx += 16;
}
--- a/wl_main.cpp
+++ b/wl_main.cpp
@@ -7,7 +7,6 @@
#endif
#include "wl_def.h"
-#pragma hdrstop
#include "wl_atmos.h"
#include
@@ -1444,7 +1443,7 @@ void Quit (const char *errorStr, ...)
if (!pictable) // don't try to display the red box before it's loaded
{
ShutdownId();
- if (error && *error)
+ if (*error)
{
#ifdef NOTYET
SetTextCursor(0,0);
@@ -1458,7 +1457,7 @@ void Quit (const char *errorStr, ...)
exit(1);
}
- if (!error || !*error)
+ if (!*error)
{
#ifdef NOTYET
#ifndef JAPAN
@@ -1478,7 +1477,7 @@ void Quit (const char *errorStr, ...)
ShutdownId ();
- if (error && *error)
+ if (*error)
{
#ifdef NOTYET
memcpy((byte *)0xb8000,screen+7,7*160);
@@ -1492,7 +1491,7 @@ void Quit (const char *errorStr, ...)
exit(1);
}
else
- if (!error || !(*error))
+ if (!*error)
{
#ifdef NOTYET
#ifndef JAPAN
@@ -1520,7 +1519,9 @@ void Quit (const char *errorStr, ...)
static void DemoLoop()
{
+#ifndef SPEARDEMO
int LastDemo = 0;
+#endif
//
// check for launch from ted
@@ -1729,7 +1730,7 @@ void CheckParameters(int argc, char *arg
screenWidth = atoi(argv[++i]);
screenHeight = atoi(argv[++i]);
unsigned factor = screenWidth / 320;
- if(screenWidth % 320 || screenHeight != 200 * factor && screenHeight != 240 * factor)
+ if(screenWidth % 320 || (screenHeight != 200 * factor && screenHeight != 240 * factor))
printf("Screen size must be a multiple of 320x200 or 320x240!\n"), hasError = true;
}
}
--- a/wl_menu.cpp
+++ b/wl_menu.cpp
@@ -15,7 +15,6 @@
#endif
#include "wl_def.h"
-#pragma hdrstop
extern int lastgamemusicoffset;
extern int numEpisodesMissing;
@@ -920,7 +919,7 @@ CP_CheckQuick (ScanCode scancode)
#ifdef SPANISH
if (Confirm (ENDGAMESTR))
#else
- if (Confirm (endStrings[US_RndT () & 0x7 + (US_RndT () & 1)]))
+ if (Confirm (endStrings[US_RndT () & (0x7 + (US_RndT () & 1))]))
#endif
#endif
{
@@ -2137,7 +2136,7 @@ CustomControls (int)
void
DefineMouseBtns (void)
{
- CustomCtrls mouseallowed = { 0, 1, 1, 1 };
+ CustomCtrls mouseallowed = {{ 0, 1, 1, 1 }};
EnterCtrlData (2, &mouseallowed, DrawCustMouse, PrintCustMouse, MOUSE);
}
@@ -2149,7 +2148,7 @@ DefineMouseBtns (void)
void
DefineJoyBtns (void)
{
- CustomCtrls joyallowed = { 1, 1, 1, 1 };
+ CustomCtrls joyallowed = {{ 1, 1, 1, 1 }};
EnterCtrlData (5, &joyallowed, DrawCustJoy, PrintCustJoy, JOYSTICK);
}
@@ -2161,7 +2160,7 @@ DefineJoyBtns (void)
void
DefineKeyBtns (void)
{
- CustomCtrls keyallowed = { 1, 1, 1, 1 };
+ CustomCtrls keyallowed = {{ 1, 1, 1, 1 }};
EnterCtrlData (8, &keyallowed, DrawCustKeybd, PrintCustKeybd, KEYBOARDBTNS);
}
@@ -2173,7 +2172,7 @@ DefineKeyBtns (void)
void
DefineKeyMove (void)
{
- CustomCtrls keyallowed = { 1, 1, 1, 1 };
+ CustomCtrls keyallowed = {{ 1, 1, 1, 1 }};
EnterCtrlData (10, &keyallowed, DrawCustKeys, PrintCustKeys, KEYBOARDMOVE);
}
@@ -2190,7 +2189,7 @@ void
EnterCtrlData (int index, CustomCtrls * cust, void (*DrawRtn) (int), void (*PrintRtn) (int),
int type)
{
- int j, exit, tick, redraw, which, x, picked, lastFlashTime;
+ int j, exit, tick, redraw, which = 0, x = 0, picked, lastFlashTime;
ControlInfo ci;
@@ -2241,7 +2240,7 @@ EnterCtrlData (int index, CustomCtrls *
//
// CHANGE BUTTON VALUE?
//
- if ((type != KEYBOARDBTNS && type != KEYBOARDMOVE) && (ci.button0 | ci.button1 | ci.button2 | ci.button3) ||
+ if (((type != KEYBOARDBTNS && type != KEYBOARDMOVE) && (ci.button0 | ci.button1 | ci.button2 | ci.button3)) ||
((type == KEYBOARDBTNS || type == KEYBOARDMOVE) && LastScan == sc_Enter))
{
lastFlashTime = GetTimeCount();
@@ -2362,7 +2361,7 @@ EnterCtrlData (int index, CustomCtrls *
//
// EXIT INPUT?
//
- if (IN_KeyDown (sc_Escape) || type != JOYSTICK && ci.button1)
+ if (IN_KeyDown (sc_Escape) || (type != JOYSTICK && ci.button1))
{
picked = 1;
SD_PlaySound (ESCPRESSEDSND);
@@ -2942,7 +2941,7 @@ CP_Quit (int)
#ifdef SPANISH
if (Confirm (ENDGAMESTR))
#else
- if (Confirm (endStrings[US_RndT () & 0x7 + (US_RndT () & 1)]))
+ if (Confirm (endStrings[US_RndT () & (0x7 + (US_RndT () & 1))]))
#endif
#endif
@@ -3406,7 +3405,7 @@ HandleMenu (CP_iteminfo * item_i, CP_ite
if (ci.button0 || Keyboard[sc_Space] || Keyboard[sc_Enter])
exit = 1;
- if (ci.button1 && !Keyboard[sc_Alt] || Keyboard[sc_Escape])
+ if ((ci.button1 && !Keyboard[sc_Alt]) || Keyboard[sc_Escape])
exit = 2;
}
@@ -3848,7 +3847,7 @@ Message (const char *string)
h += font->height;
}
else
- w += font->width[string[i]];
+ w += font->width[(int8_t)string[i]];
}
if (w + 10 > mw)
--- a/wl_play.cpp
+++ b/wl_play.cpp
@@ -1,7 +1,6 @@
// WL_PLAY.C
#include "wl_def.h"
-#pragma hdrstop
#include "wl_cloudsky.h"
#include "wl_shade.h"
@@ -688,8 +687,6 @@ void CheckKeys (void)
#endif
scan == sc_F9 || scan == sc_F7 || scan == sc_F8) // pop up quit dialog
{
- short oldmapon = gamestate.mapon;
- short oldepisode = gamestate.episode;
ClearMemory ();
ClearSplitVWB ();
US_ControlPanel (scan);
--- a/wl_state.cpp
+++ b/wl_state.cpp
@@ -1,7 +1,6 @@
// WL_STATE.C
#include "wl_def.h"
-#pragma hdrstop
/*
=============================================================================
--- a/wl_text.cpp
+++ b/wl_text.cpp
@@ -1,7 +1,6 @@
// WL_TEXT.C
#include "wl_def.h"
-#pragma hdrstop
/*
=============================================================================
debian/patches/series 0000644 0000000 0000000 00000000264 12220337234 012032 0 ustar 02-enable-shading.patch
10-datadir.patch
21-compiler-warnings.patch
31-pc-speaker.patch
40-novert.patch
41-crosshair.patch
42-mousewheel.patch
43-autorun.patch
44-autostrafe.patch
debian/patches/10-datadir.patch 0000644 0000000 0000000 00000012142 12220337234 013462 0 ustar Subject: Use /usr/share/games/wolf3d for data files.
Author: Fabian Greffrath
--- a/id_ca.cpp
+++ b/id_ca.cpp
@@ -83,13 +83,13 @@ int numEpisodesMissing = 0;
char extension[5]; // Need a string, not constant to change cache files
char graphext[5];
char audioext[5];
-static const char gheadname[] = "vgahead.";
-static const char gfilename[] = "vgagraph.";
-static const char gdictname[] = "vgadict.";
-static const char mheadname[] = "maphead.";
-static const char mfilename[] = "maptemp.";
-static const char aheadname[] = "audiohed.";
-static const char afilename[] = "audiot.";
+static const char gheadname[] = DATADIR "vgahead.";
+static const char gfilename[] = DATADIR "vgagraph.";
+static const char gdictname[] = DATADIR "vgadict.";
+static const char mheadname[] = DATADIR "maphead.";
+static const char mfilename[] = DATADIR "maptemp.";
+static const char aheadname[] = DATADIR "audiohed.";
+static const char afilename[] = DATADIR "audiot.";
void CA_CannotOpen(const char *string);
@@ -445,7 +445,7 @@ void CA_RLEWexpand (word *source, word *
void CAL_SetupGrFile (void)
{
- char fname[13];
+ char fname[13 + sizeof(DATADIR)];
int handle;
byte *compseg;
@@ -547,7 +547,7 @@ void CAL_SetupMapFile (void)
int i;
int handle;
int32_t length,pos;
- char fname[13];
+ char fname[13 + sizeof(DATADIR)];
//
// load maphead.ext (offsets and tileinfo for map file)
@@ -571,7 +571,7 @@ void CAL_SetupMapFile (void)
// open the data file
//
#ifdef CARMACIZED
- strcpy(fname, "gamemaps.");
+ strcpy(fname, DATADIR "gamemaps.");
strcat(fname, extension);
maphandle = open(fname, O_RDONLY | O_BINARY);
@@ -627,7 +627,7 @@ void CAL_SetupMapFile (void)
void CAL_SetupAudioFile (void)
{
- char fname[13];
+ char fname[13 + sizeof(DATADIR)];
//
// load audiohed.ext (offsets for audio file)
--- a/id_pm.cpp
+++ b/id_pm.cpp
@@ -16,7 +16,7 @@ uint8_t **PMPages;
void PM_Startup()
{
- char fname[13] = "vswap.";
+ char fname[13 + sizeof(DATADIR)] = DATADIR "vswap.";
strcat(fname,extension);
FILE *file = fopen(fname,"rb");
--- a/version.h
+++ b/version.h
@@ -3,6 +3,10 @@
#ifndef VERSIONALREADYCHOSEN // used for batch compiling
+#ifndef DATADIR
+#define DATADIR ""
+#endif
+
/* Defines used for different versions */
//#define SPEAR
--- a/wl_menu.cpp
+++ b/wl_menu.cpp
@@ -4030,12 +4030,12 @@ CheckForEpisodes (void)
//
#ifdef JAPAN
#ifdef JAPDEMO
- if(!stat("vswap.wj1", &statbuf))
+ if(!stat(DATADIR "vswap.wj1", &statbuf))
{
strcpy (extension, "wj1");
numEpisodesMissing = 5;
#else
- if(!stat("vswap.wj6", &statbuf))
+ if(!stat(DATADIR "vswap.wj6", &statbuf))
{
strcpy (extension, "wj6");
#endif
@@ -4055,7 +4055,7 @@ CheckForEpisodes (void)
// ENGLISH
//
#ifdef UPLOAD
- if(!stat("vswap.wl1", &statbuf))
+ if(!stat(DATADIR "vswap.wl1", &statbuf))
{
strcpy (extension, "wl1");
numEpisodesMissing = 5;
@@ -4064,7 +4064,7 @@ CheckForEpisodes (void)
Quit ("NO WOLFENSTEIN 3-D DATA FILES to be found!");
#else
#ifndef SPEAR
- if(!stat("vswap.wl6", &statbuf))
+ if(!stat(DATADIR "vswap.wl6", &statbuf))
{
strcpy (extension, "wl6");
NewEmenu[2].active =
@@ -4077,7 +4077,7 @@ CheckForEpisodes (void)
}
else
{
- if(!stat("vswap.wl3", &statbuf))
+ if(!stat(DATADIR "vswap.wl3", &statbuf))
{
strcpy (extension, "wl3");
numEpisodesMissing = 3;
@@ -4085,7 +4085,7 @@ CheckForEpisodes (void)
}
else
{
- if(!stat("vswap.wl1", &statbuf))
+ if(!stat(DATADIR "vswap.wl1", &statbuf))
{
strcpy (extension, "wl1");
numEpisodesMissing = 5;
@@ -4102,28 +4102,28 @@ CheckForEpisodes (void)
#ifndef SPEARDEMO
if(param_mission == 0)
{
- if(!stat("vswap.sod", &statbuf))
+ if(!stat(DATADIR "vswap.sod", &statbuf))
strcpy (extension, "sod");
else
Quit ("NO SPEAR OF DESTINY DATA FILES TO BE FOUND!");
}
else if(param_mission == 1)
{
- if(!stat("vswap.sd1", &statbuf))
+ if(!stat(DATADIR "vswap.sd1", &statbuf))
strcpy (extension, "sd1");
else
Quit ("NO SPEAR OF DESTINY DATA FILES TO BE FOUND!");
}
else if(param_mission == 2)
{
- if(!stat("vswap.sd2", &statbuf))
+ if(!stat(DATADIR "vswap.sd2", &statbuf))
strcpy (extension, "sd2");
else
Quit ("NO SPEAR OF DESTINY DATA FILES TO BE FOUND!");
}
else if(param_mission == 3)
{
- if(!stat("vswap.sd3", &statbuf))
+ if(!stat(DATADIR "vswap.sd3", &statbuf))
strcpy (extension, "sd3");
else
Quit ("NO SPEAR OF DESTINY DATA FILES TO BE FOUND!");
@@ -4133,7 +4133,7 @@ CheckForEpisodes (void)
strcpy (graphext, "sod");
strcpy (audioext, "sod");
#else
- if(!stat("vswap.sdm", &statbuf))
+ if(!stat(DATADIR "vswap.sdm", &statbuf))
{
strcpy (extension, "sdm");
}
debian/patches/40-novert.patch 0000644 0000000 0000000 00000003636 12220337234 013402 0 ustar Subject: Suppress vertical mouse movement when the "--novert" parameter is given.
Author: Fabian Greffrath
--- a/wl_def.h
+++ b/wl_def.h
@@ -933,6 +933,7 @@ extern int param_audiobuffer;
extern int param_mission;
extern boolean param_goodtimes;
extern boolean param_ignorenumchunks;
+extern boolean param_novert;
void NewGame (int difficulty,int episode);
--- a/wl_main.cpp
+++ b/wl_main.cpp
@@ -101,6 +101,7 @@ int param_audiobuffer = 2048 / (4410
int param_mission = 0;
boolean param_goodtimes = false;
boolean param_ignorenumchunks = false;
+boolean param_novert = false;
/*
=============================================================================
@@ -1718,6 +1719,8 @@ void CheckParameters(int argc, char *arg
fullscreen = false;
forcegrabmouse = true;
}
+ else IFARG("--novert")
+ param_novert = true;
else IFARG("--res")
{
if(i + 2 >= argc)
@@ -1898,6 +1901,7 @@ void CheckParameters(int argc, char *arg
" --hard Sets the difficulty to hard for tedlevel\n"
" --nowait Skips intro screens\n"
" --windowed[-mouse] Starts the game in a window [and grabs mouse]\n"
+ " --novert Suppresses vertical mouse movement\n"
" --res Sets the screen resolution\n"
" (must be multiple of 320x200 or 320x240)\n"
" --resf Sets any screen resolution >= 320x200\n"
--- a/wl_play.cpp
+++ b/wl_play.cpp
@@ -347,7 +347,8 @@ void PollMouseMove (void)
mouseymove -= screenHeight / 2;
controlx += mousexmove * 10 / (13 - mouseadjustment);
- controly += mouseymove * 20 / (13 - mouseadjustment);
+ if (!param_novert)
+ controly += mouseymove * 20 / (13 - mouseadjustment);
}
debian/patches/02-enable-shading.patch 0000644 0000000 0000000 00000001660 12220337234 014717 0 ustar Subject: Enable shading support (just because I like it).
Author: Fabian Greffrath
--- a/Makefile
+++ b/Makefile
@@ -65,6 +65,7 @@ SRCS += wl_agent.cpp
SRCS += wl_atmos.cpp
SRCS += wl_cloudsky.cpp
SRCS += wl_debug.cpp
+SRCS += wl_shade.cpp
SRCS += wl_draw.cpp
SRCS += wl_floorceiling.cpp
SRCS += wl_game.cpp
--- a/version.h
+++ b/version.h
@@ -32,7 +32,7 @@
#endif
//#define USE_FEATUREFLAGS // Enables the level feature flags (see bottom of wl_def.h)
-//#define USE_SHADING // Enables shading support (see wl_shade.cpp)
+#define USE_SHADING // Enables shading support (see wl_shade.cpp)
//#define USE_DIR3DSPR // Enables directional 3d sprites (see wl_dir3dspr.cpp)
//#define USE_FLOORCEILINGTEX // Enables floor and ceiling textures stored in the third mapplane (see wl_floorceiling.cpp)
//#define USE_HIRES // Enables high resolution textures/sprites (128x128)
debian/patches/43-autorun.patch 0000644 0000000 0000000 00000002074 12220337234 013560 0 ustar Subject: Toggle autorun when both Shift keys are pressed.
Author: Fabian Greffrath
--- a/id_in.cpp
+++ b/id_in.cpp
@@ -238,6 +238,7 @@ boolean IN_JoyPresent()
}
boolean mw_dn = false, mw_up = false;
+boolean autorun = false;
static void processEvent(SDL_Event *event)
{
@@ -259,6 +260,9 @@ static void processEvent(SDL_Event *even
LastScan = event->key.keysym.sym;
SDLMod mod = SDL_GetModState();
+ if ((mod & KMOD_LSHIFT) && (mod & KMOD_RSHIFT))
+ autorun = !autorun;
+
if(Keyboard[sc_Alt])
{
if(LastScan==SDLK_F4)
--- a/wl_play.cpp
+++ b/wl_play.cpp
@@ -255,10 +255,17 @@ int songs[] = {
void PollKeyboardButtons (void)
{
int i;
+ extern boolean autorun;
for (i = 0; i < NUMBUTTONS; i++)
if (Keyboard[buttonscan[i]])
buttonstate[i] = true;
+
+ if (autorun)
+ if (Keyboard[buttonscan[bt_run]])
+ buttonstate[bt_run] = false;
+ else
+ buttonstate[bt_run] = true;
}
debian/patches/41-crosshair.patch 0000644 0000000 0000000 00000005004 12220337234 014052 0 ustar Subject: Show a crosshair when the "--crosshair" parameter is given.
Author: Fabian Greffrath
--- a/wl_def.h
+++ b/wl_def.h
@@ -934,6 +934,7 @@ extern int param_mission;
extern boolean param_goodtimes;
extern boolean param_ignorenumchunks;
extern boolean param_novert;
+extern boolean param_crosshair;
void NewGame (int difficulty,int episode);
--- a/wl_draw.cpp
+++ b/wl_draw.cpp
@@ -1052,6 +1052,17 @@ void DrawPlayerWeapon (void)
SimpleScaleShape(viewwidth/2,SPR_DEMO,viewheight+1);
}
+void DrawCrosshair (void)
+{
+ if (gamestate.victoryflag || gamestate.weapon < wp_pistol)
+ return;
+
+ const int c = (gamestate.health >= 50) ? 2 : (gamestate.health >= 25) ? 6 : 4;
+ const int h = (viewsize == 21 && ingame) ? screenHeight : screenHeight - scaleFactor * STATUSLINES;
+
+ VL_Hlin (screenWidth / 2 - scaleFactor, h / 2, 2 * scaleFactor + 1, c);
+ VL_Vlin (screenWidth / 2, h / 2 - scaleFactor, 2 * scaleFactor + 1, c);
+}
//==========================================================================
@@ -1596,6 +1607,8 @@ void ThreeDRefresh (void)
#endif
DrawPlayerWeapon (); // draw player's hands
+ if (param_crosshair)
+ DrawCrosshair ();
if(Keyboard[sc_Tab] && viewsize == 21 && gamestate.weapon != -1)
ShowActStatus();
--- a/wl_main.cpp
+++ b/wl_main.cpp
@@ -102,6 +102,7 @@ int param_mission = 0;
boolean param_goodtimes = false;
boolean param_ignorenumchunks = false;
boolean param_novert = false;
+boolean param_crosshair = false;
/*
=============================================================================
@@ -1721,6 +1722,8 @@ void CheckParameters(int argc, char *arg
}
else IFARG("--novert")
param_novert = true;
+ else IFARG("--crosshair")
+ param_crosshair = true;
else IFARG("--res")
{
if(i + 2 >= argc)
@@ -1902,6 +1905,7 @@ void CheckParameters(int argc, char *arg
" --nowait Skips intro screens\n"
" --windowed[-mouse] Starts the game in a window [and grabs mouse]\n"
" --novert Suppresses vertical mouse movement\n"
+ " --crosshair Shows a crosshair\n"
" --res Sets the screen resolution\n"
" (must be multiple of 320x200 or 320x240)\n"
" --resf Sets any screen resolution >= 320x200\n"
debian/changelog 0000644 0000000 0000000 00000015115 12220337234 011041 0 ustar wolf4sdl (1.7+svn262+dfsg1-2) unstable; urgency=low
[ Jon Dowland ]
* remove myself from uploaders
[ Fabian Greffrath ]
* Fix typo in README.Debian.
* Bump debhelper compatibility to v9.
* Add TODO to README.source.
* Add CPPFLAGS to CFLAGS.
* Apply a series of patches to improve mouse control:
+ Suppress vertical mouse movement when the "--novert" parameter is given.
+ Show a crosshair when the "--crosshair" parameter is given.
+ Change weapons with the mouse wheel.
+ Toggle autorun when both Shift keys are pressed.
+ Toggle autostrafe for the keyboard when both Alt keys are pressed.
By the way, accept the German AltGr key as a right Alt key.
* Adjust manpage accordingly.
* Replace potentially non-free wolf4sdl.xpm with a self-drawn alternative
and add a reproduction rule to debian/rules (Closes: #718287).
-- Fabian Greffrath Thu, 05 Sep 2013 17:02:12 +0200
wolf4sdl (1.7+svn262+dfsg1-1) unstable; urgency=low
[ Fabian Greffrath ]
* Imported Upstream version 1.7+svn262+dfsg1
* Add debian/README.source and document the removal of the
MAME OPL2 emulator sources.
* Update debian/copyright with the copyright information of the
GPL'ed OPL2/3 emulator from DOSBox.
* Change section to contrib/games (the required data files are
still non-free) from non-free/games. :)
* Build with GPL=1.
* Refresh all patches.
* Remove debian/patches/32-mingw.patch, applied upstream.
* Remove another compiler warning in 21-compiler-warnings.patch.
[ Jon Dowland ]
* Bump standards version.
* Tweak watch file to exclude '+dfsg1' from versions.
-- Jon Dowland Mon, 28 Nov 2011 13:32:28 +0000
wolf4sdl (1.7-2) unstable; urgency=low
* Eliminate the last remaining compiler warning.
* Build less verbosely again, it only adds to confusion.
* Change license of the original cource code to GPL-2.0+ as confirmed
via e-mail by John Carmack himself. Still non-free, though, because
the Mame Software License does not allow commercial use.
* Clarify relation to game-data-packager and its generated packages
in debian/control.
* Export CFLAGS LDFLAGS for them to take effect as per dpkg (>= 1.16.1).
-- Fabian Greffrath Wed, 05 Oct 2011 15:31:57 +0200
wolf4sdl (1.7-1) unstable; urgency=low
* Imported Upstream version 1.7
* Fix debian/watch file
* Remove wl_shade.{d,o} in the clean rule
* Replace wolf4sdl.xpm with the Windows icon from upstream SVN
-- Fabian Greffrath Tue, 28 Jun 2011 14:22:03 +0200
wolf4sdl (1.7~svn255-0fab2) unstable; urgency=low
[ Jon Dowland ]
* add myself to uploaders
* Recommend: game-data-packager (which can build wolf3d-data);
Suggests: wolf3d-data
* Update download URL in copyright file
[ Fabian Greffrath ]
* Add "-fno-toplevel-reorder" to the CFLAGS to ensure save game
compatibility between different builds. Thanks to Hans de Goede
for pointing this out!
* Update 21-compiler-warnings.patch with new warnings from g++-4.6.
* Clean up debian/rules.
* Build more verbosely.
-- Fabian Greffrath Tue, 03 May 2011 01:22:02 +0200
wolf4sdl (1.7~svn255-0fab1) unstable; urgency=low
[ Jon Dowland ]
* spelling correction
* line-wrap changelog
[ Fabian Greffrath ]
* New upstream SVN snapshot
(revision 255 of ).
* Refresh all patches.
* Drop 11-configdir.patch, implemented differently upstream.
* Drop 22-compile-fixes.patch, first chunk applied upstream,
second chunk unnecessary since dropping 11-configdir.patch.
* 31-pc-speaker.patch: New patch to enable PC speaker emulation,
adapt 21-compiler-warnings.patch accordingly.
* 32-mingw.patch: New patch to fix portability issues on MinGW.
* Add .gitignore, debian/gbp.conf and debian/source/local-options
helper files.
* Fix 21-compiler-warnings.patch to silence the compiler again.
-- Fabian Greffrath Tue, 19 Apr 2011 00:08:44 +0200
wolf4sdl (1.6-2) experimental; urgency=low
* Non-maintainer upload.
* bump version to satisfy dak
-- Jon Dowland Thu, 24 Mar 2011 15:35:12 +0000
wolf4sdl (1.6-1) experimental; urgency=low
* Initial release (Closes: #615056).
* Target at experimental until game-data-packager is able to
create appropriate data packages.
* Set Maintainer to Debian Games Team and add myself to Uploaders.
* Fix upstream Homepage.
* Add Vcs-* fields.
* Play safe and run "make clean" between the builds.
* Fix debian/watch file.
* Document the missing game data files in both debian/control and
README.Debian.
-- Fabian Greffrath Mon, 28 Feb 2011 13:06:25 +0100
wolf4sdl (1.6-0fab3) unstable; urgency=low
* Add some "sleep 1" between the different variant builds in debian/rules
to avoid race conditions when e.g. version.h and wl_state.cpp have been
modified within the same second.
-- Fabian Greffrath Fri, 25 Feb 2011 17:11:14 +0100
wolf4sdl (1.6-0fab2) unstable; urgency=low
* Build five variants of Wolf4SDL:
+ Wolf3d Full v1.4 Apogee (with ReadThis)
+ Wolf3d Full v1.4 GT/ID/Activision
+ Wolf3d Shareware v1.4
+ Spear of Destiny Full and Mission Disks
+ Spear of Destiny Demo
* Handle variants via update-alternatives, document this in the manual page
and in README-Debian, add symlinks for the manual pages.
* Add lintian overrides for desktop-command-not-in-package
and menu-command-not-in-package.
* Quit if getenv("HOME") returns NULL,
thanks Hans de Goede .
* Add a patch to get things to build with very recent gcc/glibc,
thanks Hans de Goede .
-- Fabian Greffrath Mon, 03 Jan 2011 13:49:27 +0100
wolf4sdl (1.6-0fab1) unstable; urgency=low
* Initial release.
* Build the Wolf3d Shareware v1.4 variant.
* Enable shading support (just because I like it).
* Use /usr/share/games/wolf3d for data files.
* Use ~/.wolf4sdl for config files and saved games.
* Rename game binary to wolf4sdl from wolf3d.
* Fix some compiler warnings so the code compiles cleanly with
g++-4.5 and CFLAGS+="-Wall -Wno-sign-compare -Wno-switch".
* Add and install wolf4sdl.6 manual page.
* Install README* documentation.
* Add and install wolf4sdl.xpm icon based on NewWolf.ico.
* Add and install wolf4sdl.menu and wolf4sdl.desktop files.
-- Fabian Greffrath Wed, 22 Dec 2010 11:29:17 +0100
debian/wolf4sdl.manpages 0000644 0000000 0000000 00000000026 12220337234 012435 0 ustar debian/man/wolf4sdl.6
debian/wolf4sdl.lintian-overrides 0000644 0000000 0000000 00000000223 12220337234 014277 0 ustar # The /usr/games/wolf4sdl binary is handled via update-alternatives
wolf4sdl: desktop-command-not-in-package
wolf4sdl: menu-command-not-in-package
debian/wolf4sdl.menu 0000644 0000000 0000000 00000000325 12220337234 011610 0 ustar ?package(wolf4sdl):needs="X11" section="Games/Action"\
title="Wolf4SDL"\
longtitle="SDL-Port of Wolfenstein 3-D and Spear of Destiny"\
command="/usr/games/wolf4sdl"\
icon="/usr/share/pixmaps/wolf4sdl.xpm"
debian/wolf4sdl.docs 0000644 0000000 0000000 00000000010 12220337234 011563 0 ustar README*
debian/README.source 0000644 0000000 0000000 00000001144 12220337234 011343 0 ustar The non-free OPL2 emulator from MAME has been removed from the upstream source.
This is how the Debian source tarball was created:
$ svn export -r 262 svn://tron.homeunix.org:3690/wolf3d/trunk wolf4sdl-1.7+svn262
$ rm -rf wolf4sdl-1.7+svn262/mame/
$ tar czfv wolf4sdl_1.7+svn262+dfsg1.orig.tar.gz wolf4sdl-1.7+svn262/
Due to the missing mame sources, GPL=1 has to be set for the Makefile.
TODO for the next snapshot:
$ sed -e '/^ifdef GPL/, /^endif/ {s/^[[:space:]]*//; /^ifdef/d; /^endif/d}' \
-e '/^ifndef GPL/,/^endif/ {s/^[[:space:]]*//; /^ifndef/,/^else/d; /^endif/d}' \
-i Makefile
debian/README.Debian 0000644 0000000 0000000 00000002754 12220337234 011235 0 ustar Wolf4SDL for Debian
-------------------
* The wolf4sdl game requires additional data files which are not available
under a free license and cannot be distributed by Debian. Thus, this package
contains no data files, but future releases of `game-data-packager' are
expected to be able to generate suitable data packages for wolf4sdl.
.
For the time being, it is required to obtain the data files from external
resources (hint: WolfGL home page, Files section) and copy them into the
`/usr/share/games/wolf3d' directory.
* The wolf4sdl package in Debian supports five variants of the game:
Wolf3d Full v1.4 Apogee (with ReadThis), Wolf3d Full v1.4 GT/ID/Activision,
Wolf3d Shareware v1.4, Spear of Destiny Full and Mission Disks, Spear of
Destiny Demo. The corresponding binaries are named 'wolf4sdl-wl6a',
'wolf4sdl-wl6', 'wolf4sdl-wl1', 'wolf4sdl-sod' and 'wolf4sdl-sdm',
respectively. In order to select which variant is started by the 'wolf4sdl'
command and the desktop and menu files, Debian's 'update-alternatives'
mechanism is used:
.
$ update-alternatives --config wolf4sdl
.
By default, the 'wolf4sdl-wl1' alternative is preferred.
.
The game expects its data files in the '/usr/share/games/wolf3d' directory
(with lower case file names), so make sure to also copy the appropriate data
files into this directory when changing the 'wolf4sdl' alternative.
-- Fabian Greffrath Mon, 03 Jan 2011 15:10:21 +0100
debian/wolf4sdl.links 0000644 0000000 0000000 00000000544 12220337234 011767 0 ustar usr/share/man/man6/wolf4sdl.6.gz usr/share/man/man6/wolf4sdl-wl6.6.gz
usr/share/man/man6/wolf4sdl.6.gz usr/share/man/man6/wolf4sdl-wl6a.6.gz
usr/share/man/man6/wolf4sdl.6.gz usr/share/man/man6/wolf4sdl-wl1.6.gz
usr/share/man/man6/wolf4sdl.6.gz usr/share/man/man6/wolf4sdl-sod.6.gz
usr/share/man/man6/wolf4sdl.6.gz usr/share/man/man6/wolf4sdl-sdm.6.gz
debian/wolf4sdl.png 0000644 0000000 0000000 00000003176 12220337234 011437 0 ustar PNG
IHDR szz sBIT|d pHYs
B(x tEXtSoftware www.inkscape.org< tEXtTitle wolf3d iconA: tEXtAuthor Fabian Greffrath8kˏ tEXtCreation Time 5 Sep 2013=6 IDATXW]H[g~iiY&tZ*-!enatCыXi7XlgzсcWV9"fiu1990JLΉ/$