1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-24 00:45:52 +00:00

Add vavoom 1.15.1,

Vavoom is a source port based on sources of Doom, Heretic,
Hexen and a little bit from Quake. To play Vavoom you need main
wad file from Doom, Ultimate Doom, Doom II, Heretic, Hexen or
Strife.

Differences from original game:

* Polygonal engine with colored lighting, with software mode,
* OpenGL support;
* Translucency;
* Complete support for freelook (look up & down) in all games;
* A powerful language to describe game logic;
* 100% client/server architecture with in-game joining;
* Quake-style console, with key bindings;
* Indirect support for DeHackEd;
* Crosshair;
* Jumping;

PR:		ports/61765
Submitted by:	Igor Pokrovsky <tiamat@comset.net>
This commit is contained in:
Kirill Ponomarev 2004-01-23 15:31:16 +00:00
parent b0063e0814
commit 78ac02537e
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=98893
11 changed files with 688 additions and 0 deletions

View File

@ -424,6 +424,7 @@
SUBDIR += utserver-asu
SUBDIR += utserver-to
SUBDIR += vamos
SUBDIR += vavoom
SUBDIR += vectoroids
SUBDIR += virt
SUBDIR += wesnoth

76
games/vavoom/Makefile Normal file
View File

@ -0,0 +1,76 @@
# New ports collection makefile for: vavoom
# Date created: 18 Jan 2004
# Whom: Igor Pokrovsky <tiamat@comset.net>
#
# $FreeBSD$
#
PORTNAME= vavoom
PORTVERSION= 1.15.1
CATEGORIES= games
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= ${PORTNAME}
DISTNAME= v115_1_src
MAINTAINER= tiamat@comset.net
COMMENT= Doom, Doom II, Heretic, Hexen and Strife source port
.ifdef (WITH_OPENAL)
LIB_DEPENDS+= openal.0:${PORTSDIR}/audio/openal
.endif
USE_ZIP= yes
USE_GMAKE= yes
USE_REINPLACE= yes
USE_SDL= mixer sdl
USE_GL= yes
ALL_TARGET= all sv
ONLY_FOR_ARCHS= i386
EXTRACT_AFTER_ARGS= -d ${WRKSRC}
.ifdef (WITH_OPENAL)
MAKE_ARGS= "USE_AL=1"
.endif
.ifndef (WITH_OPENAL)
pre-everything::
@${ECHO_CMD} "********************************************************************"
@${ECHO_CMD} "You can define WITH_OPENAL=yes to build Vavoom with 3D sound support"
@${ECHO_CMD} "********************************************************************"
.endif
post-patch:
cd ${WRKSRC} && ${SH} ${WRKSRC}/fixunix.sh
@${REINPLACE_CMD} -e 's|SDL\/||g' ${WRKSRC}/source/*.cpp
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/Vavoom ${PREFIX}/bin
${INSTALL_PROGRAM} ${WRKSRC}/VavoomSV ${PREFIX}/bin
@${MKDIR} ${DATADIR}
@${MKDIR} ${DATADIR}/basev
${INSTALL_DATA} ${WRKSRC}/basev/default.cfg ${DATADIR}/basev
${INSTALL_DATA} ${WRKSRC}/basev/startup.vs ${DATADIR}/basev
${INSTALL_DATA} ${WRKSRC}/basev/games.txt ${DATADIR}/basev
.for i in doom heretic hexen strife
@${MKDIR} ${DATADIR}/basev/${i}
${INSTALL_DATA} ${WRKSRC}/basev/${i}/wad0.wad ${DATADIR}/basev/${i}
.endfor
.for i in doom1 doom2 tnt plutonia
@${MKDIR} ${DATADIR}/basev/${i}
${INSTALL_DATA} ${WRKSRC}/basev/${i}/wad0.wad ${DATADIR}/basev/${i}
${INSTALL_DATA} ${WRKSRC}/basev/${i}/base.txt ${DATADIR}/basev/${i}
.endfor
.ifndef (NOPORTDOCS)
@${MKDIR} ${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/docs/vavmref.txt ${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/docs/vavoom.txt ${DOCSDIR}
.endif
post-install:
@${SED} -e 's|%%PREFIX%%|${PREFIX}|; s|%%DATADIR%%|${DATADIR}|' \
<${PKGMESSAGE}
.include <bsd.port.mk>

1
games/vavoom/distinfo Normal file
View File

@ -0,0 +1 @@
MD5 (v115_1_src.zip) = 58a9fad8ec2168b12fe7154ebbee04ad

View File

@ -0,0 +1,112 @@
--- Makefile.orig Fri Dec 19 20:00:14 2003
+++ Makefile Fri Jan 23 16:41:34 2004
@@ -8,7 +8,7 @@
#DEBUG = 1
# Uncomment to compile using SDL
-#USE_SDL = 1
+USE_SDL = 1
# Uncomment to compile without OpenGL driver
#NOGL = 1
@@ -70,7 +70,7 @@
obj/sys_i386.o \
obj/sys_sdl.o
GL_SYS_OBJ = obj/gl_sdl.o
-LIBS := `sdl-config --libs` -lSDL_mixer -lm -lstdc++
+LIBS := `${SDL_CONFIG} --libs` -lSDL_mixer -lm -lstdc++
else
#-- Linux with Allegro --
SYS_OBJS = \
@@ -214,7 +214,7 @@
ifdef MESAGL
LIBS := -lMesaGL $(LIBS)
else
-LIBS := -lGL $(LIBS)
+LIBS := -lGL -L${X11BASE}/lib $(LIBS)
endif
endif
@@ -308,8 +308,8 @@
# ---------------------------------------
-C_ARGS = -c -W -Wall -march=pentiumpro -ffast-math
-CPP_ARGS = -c -W -Wall -march=pentiumpro -ffast-math
+C_ARGS = -c ${CFLAGS} -I${X11BASE}/include `${SDL_CONFIG} --cflags` -W -Wall -ffast-math
+CPP_ARGS = -c ${CFLAGS} -I${X11BASE}/include `${SDL_CONFIG} --cflags` -W -Wall -ffast-math
ASM_ARGS = -c -W -Wall -x assembler-with-cpp
LINK_ARGS = -Wall
@@ -337,7 +337,7 @@
exe: Vavoom$(EXE)
Vavoom$(EXE): $(OBJ_FILES) $(LIB_FILES)
- gcc $(LINK_ARGS) -o $@ $^ $(LIBS)
+ ${CC} $(LINK_ARGS) -o $@ $^ $(LIBS)
suid:
chown root.root Vavoom
@@ -347,13 +347,13 @@
addr2line -e Vavoom -f < crash.txt >> basev/debug.txt
obj/%.o : source/%.c
- gcc $(C_ARGS) -o $@ $<
+ ${CC} $(C_ARGS) -o $@ $<
obj/%.o : source/%.cpp source/*.h
- gcc $(CPP_ARGS) -o $@ $<
+ ${CC} $(CPP_ARGS) -o $@ $<
obj/%.o : source/%.s source/asm_i386.h
- gcc $(ASM_ARGS) -o $@ $<
+ ${CC} $(ASM_ARGS) -o $@ $<
# ---------------------------------------
@@ -370,16 +370,16 @@
svexe: VavoomSV$(EXE)
VavoomSV$(EXE): $(SV_OBJ_FILES)
- gcc $(LINK_ARGS) -o $@ $(SV_OBJ_FILES) $(SV_LIBS)
+ ${CC} $(LINK_ARGS) -o $@ $(SV_OBJ_FILES) $(SV_LIBS)
obj/sv/%.o : source/%.c
- gcc $(C_ARGS) -DSERVER -o $@ $<
+ ${CC} $(C_ARGS) -DSERVER -o $@ $<
obj/sv/%.o : source/%.cpp source/*.h
- gcc $(CPP_ARGS) -DSERVER -o $@ $<
+ ${CC} $(CPP_ARGS) -DSERVER -o $@ $<
obj/sv/%.o : source/%.s
- gcc $(ASM_ARGS) -DSERVER -o $@ $<
+ ${CC} $(ASM_ARGS) -DSERVER -o $@ $<
# ---------------------------------------
@@ -415,11 +415,11 @@
# ---------------------------------------
ifndef INSTALL
-INSTALL = ginstall
+INSTALL = install -c
endif
ifndef INSTALL_DIR
-INSTALL_DIR = /usr/local/games/Vavoom
+INSTALL_DIR = ${DATADIR}
endif
ifndef INSTALL_GROUP
@@ -511,8 +511,8 @@
asm: $(ASM_FILES)
source/%.asm : source/%.s source/asm_i386.h source/gas2tasm.exe
- gcc -x assembler-with-cpp -E -P -DGAS2TASM $< -o - | source/gas2tasm.exe > $@
+ ${CC} -x assembler-with-cpp -E -P -DGAS2TASM $< -o - | source/gas2tasm.exe > $@
source/gas2tasm.exe : source/gas2tasm.c
- gcc -O3 -ffast-math -fomit-frame-pointer -s -o $@ $<
+ ${CC} -O3 -ffast-math -fomit-frame-pointer -s -o $@ $<

View File

@ -0,0 +1,18 @@
--- source/asm_i386.h.orig Mon Jan 19 09:45:14 2004
+++ source/asm_i386.h Mon Jan 19 09:46:32 2004
@@ -27,13 +27,13 @@
#define USEASM
-#ifdef __linux__
+#if defined(__linux__) || defined(__FreeBSD__)
#define C(label) label // ELF format
#else
#define C(label) _##label // COFF format
#endif
-#if !defined GAS2TASM && (defined DJGPP || defined __linux__)
+#if !defined GAS2TASM && (defined DJGPP || defined __linux__ || defined __FreeBSD__)
#define Align4 .p2align 2
#define Align8 .p2align 3
#define Align16 .p2align 4

View File

@ -0,0 +1,186 @@
--- source/cd_linux.cpp.orig Fri Jan 23 14:59:01 2004
+++ source/cd_linux.cpp Fri Jan 23 14:59:04 2004
@@ -32,7 +32,7 @@
#include <fcntl.h>
#include <time.h>
#include <errno.h>
-#include <linux/cdrom.h>
+#include <sys/cdio.h>
#include "gamedefs.h"
#include "s_local.h"
@@ -137,7 +137,8 @@
void CD_Update(void)
{
guard(CD_Update);
- struct cdrom_subchnl subchnl;
+ struct ioc_read_subchannel subchnl;
+ struct cd_sub_channel_info data;
static time_t lastchk;
if (!cd_started)
@@ -149,15 +150,18 @@
if (playing && lastchk < time(NULL))
{
lastchk = time(NULL) + 2; //two seconds between chks
- subchnl.cdsc_format = CDROM_MSF;
- if (ioctl(cdfile, CDROMSUBCHNL, &subchnl) == -1 )
+ subchnl.data = &data;
+ subchnl.data_len = sizeof(data);
+ subchnl.address_format = CD_MSF_FORMAT;
+ subchnl.data_format = CD_CURRENT_POSITION;
+ if (ioctl(cdfile, CDIOCREADSUBCHANNEL, (char*) &subchnl) == -1 )
{
- GCon->Log(NAME_Dev, "ioctl cdromsubchnl failed");
+ GCon->Log(NAME_Dev, "ioctl CDIOCREADSUBCHANNEL failed");
playing = false;
return;
}
- if (subchnl.cdsc_audiostatus != CDROM_AUDIO_PLAY &&
- subchnl.cdsc_audiostatus != CDROM_AUDIO_PAUSED)
+ if (subchnl.data->header.audio_status != CD_AS_PLAY_IN_PROGRESS &&
+ subchnl.data->header.audio_status != CD_AS_PLAY_PAUSED)
{
playing = false;
if (playLooping)
@@ -337,24 +341,24 @@
static void CD_GetInfo(void)
{
- struct cdrom_tochdr tochdr;
+ struct ioc_toc_header tochdr;
cdValid = false;
- if (ioctl(cdfile, CDROMREADTOCHDR, &tochdr) == -1)
+ if (ioctl(cdfile, CDIOREADTOCHEADER, &tochdr) == -1)
{
- GCon->Log(NAME_Dev, "ioctl cdromreadtochdr failed");
+ GCon->Log(NAME_Dev, "ioctl CDIOREADTOCHEADER failed");
return;
}
- if (tochdr.cdth_trk0 < 1)
+ if (tochdr.starting_track < 1)
{
GCon->Log(NAME_Dev, "CDAudio: no music tracks");
return;
}
cdValid = true;
- maxTrack = tochdr.cdth_trk1;
+ maxTrack = tochdr.ending_track;
}
//==========================================================================
@@ -365,8 +369,8 @@
static void CD_Play(int track, boolean looping)
{
- struct cdrom_tocentry entry;
- struct cdrom_ti ti;
+ struct ioc_read_toc_single_entry entry;
+ struct ioc_play_track ti;
if (!cdValid)
{
@@ -383,6 +387,7 @@
return;
}
+/*
// don't try to play a non-audio track
entry.cdte_track = track;
entry.cdte_format = CDROM_MSF;
@@ -396,7 +401,7 @@
GCon->Logf("CDAudio: track %d is not audio", track);
return;
}
-
+*/
if (playing)
{
if (playTrack == track)
@@ -404,19 +409,19 @@
CD_Stop();
}
- ti.cdti_trk0 = track;
- ti.cdti_trk1 = track;
- ti.cdti_ind0 = 1;
- ti.cdti_ind1 = 99;
+ ti.start_track = track;
+ ti.end_track = track;
+ ti.start_index = 1;
+ ti.end_index = 99;
- if (ioctl(cdfile, CDROMPLAYTRKIND, &ti) == -1)
+ if (ioctl(cdfile, CDIOCPLAYTRACKS, &ti) == -1)
{
- GCon->Log(NAME_Dev, "ioctl cdromplaytrkind failed");
+ GCon->Log(NAME_Dev, "ioctl CDIOCPLAYTRACKS failed");
return;
}
- if (ioctl(cdfile, CDROMRESUME) == -1)
- GCon->Log(NAME_Dev, "ioctl cdromresume failed");
+ if (ioctl(cdfile, CDIOCRESUME) == -1)
+ GCon->Log(NAME_Dev, "ioctl CDIOCRESUME failed");
playLooping = looping;
playTrack = track;
@@ -434,8 +439,8 @@
if (!playing)
return;
- if (ioctl(cdfile, CDROMPAUSE) == -1)
- GCon->Log(NAME_Dev, "ioctl cdrompause failed");
+ if (ioctl(cdfile, CDIOCPAUSE) == -1)
+ GCon->Log(NAME_Dev, "ioctl CDIOCPAUSE failed");
wasPlaying = playing;
playing = false;
@@ -452,8 +457,8 @@
if (!wasPlaying)
return;
- if (ioctl(cdfile, CDROMRESUME) == -1)
- GCon->Log(NAME_Dev, "ioctl cdromresume failed");
+ if (ioctl(cdfile, CDIOCRESUME) == -1)
+ GCon->Log(NAME_Dev, "ioctl CDIOCRESUME failed");
playing = true;
}
@@ -469,8 +474,8 @@
if (!playing)
return;
- if (ioctl(cdfile, CDROMSTOP) == -1)
- GCon->Log(NAME_Dev, "ioctl cdromstop failed");
+ if (ioctl(cdfile, CDIOCSTOP) == -1)
+ GCon->Log(NAME_Dev, "ioctl CDIOCSTOP failed");
wasPlaying = false;
playing = false;
@@ -484,8 +489,8 @@
static void CD_OpenDoor(void)
{
- if (ioctl(cdfile, CDROMEJECT) == -1)
- GCon->Log(NAME_Dev, "ioctl cdromeject failed");
+ if (ioctl(cdfile, CDIOCEJECT) == -1)
+ GCon->Log(NAME_Dev, "ioctl CDIOCEJECT failed");
}
//==========================================================================
@@ -496,8 +501,8 @@
static void CD_CloseDoor(void)
{
- if (ioctl(cdfile, CDROMCLOSETRAY) == -1)
- GCon->Log(NAME_Dev, "ioctl cdromclosetray failed");
+ if (ioctl(cdfile, CDIOCCLOSE) == -1)
+ GCon->Log(NAME_Dev, "ioctl CDIOCCLOSE failed");
}
//**************************************************************************

View File

@ -0,0 +1,150 @@
--- source/s_sdl.cpp.orig Sat Mar 8 14:08:04 2003
+++ source/s_sdl.cpp Wed Jan 21 15:41:52 2004
@@ -82,8 +82,8 @@
IMPLEMENT_CLASS(VDefaultSoundDevice);
-static TCvarI mix_frequency ("mix_frequency", "22050", CVAR_ARCHIVE);
-static TCvarI mix_bits ("mix_bits", "16", CVAR_ARCHIVE);
+static TCvarI mix_frequency ("mix_frequency", "44100", CVAR_ARCHIVE);
+static TCvarI mix_bits ("mix_bits", "8", CVAR_ARCHIVE);
static TCvarI mix_channels ("mix_channels", "2", CVAR_ARCHIVE);
static TCvarI mix_chunksize ("mix_chunksize", "4096", CVAR_ARCHIVE);
@@ -107,6 +107,8 @@
static TVec listener_forward;
static TVec listener_right;
static TVec listener_up;
+
+SDL_AudioCVT wavecvt;
// CODE --------------------------------------------------------------------
@@ -337,6 +339,12 @@
mix_bits = fmt & 0xFF;
mix_channels = ch;
+ if (SDL_BuildAudioCVT(&wavecvt, AUDIO_S8, 2, 4096,
+ fmt, mix_channels, mix_frequency) == -1) {
+ Sys_Error("SDL_BuildAudioCVT: failed.\n");
+ return;
+ }
+
channels = Z_CNew<channel_t>(mix_voices);
for (i = 0; i < mix_voices; i++)
{
@@ -425,13 +433,23 @@
return;
}
- // copy the lump to a SDL_Mixer chunk...
- chunk = Mix_LoadRAW_RW(SDL_RWFromMem((void*)S_sfx[sound_id].data,
- S_sfx[sound_id].len), 0, S_sfx[sound_id].freq, AUDIO_U8, 1);
- if (chunk == NULL)
- Sys_Error("Mix_LoadRAW_RW() failed!\n");
- voice = Mix_LoadChannel(-1, chunk, 0);
-
+ wavecvt.len = S_sfx[sound_id].len;
+ wavecvt.buf = (Uint8*)malloc(wavecvt.len*wavecvt.len_mult);
+ memcpy(wavecvt.buf, S_sfx[sound_id].data, S_sfx[sound_id].len);
+
+ if (SDL_ConvertAudio(&wavecvt) == -1) {
+ Sys_Error("SDL_ConvertAudio: error during conversion\n");
+ return;
+ }
+
+ // copy the lump to a SDL_Mixer chunk...
+ chunk = Mix_QuickLoad_RAW((Uint8*)wavecvt.buf,
+ wavecvt.len*wavecvt.len_mult);
+ if (chunk == NULL)
+ Sys_Error("Mix_QuickLoad_RAW() failed!\n");
+
+ voice = Mix_PlayChannel(-1, chunk, 0);
+
if (voice < 0)
{
S_DoneWithLump(sound_id);
@@ -448,9 +466,6 @@
pitch = CalcPitch(S_sfx[sound_id].freq, sound_id);
#warning how to set the pitch? (CS)
- // ready to go...
- Mix_Play(voice);
-
channels[chan].origin_id = origin_id;
channels[chan].origin = origin;
channels[chan].channel = channel;
@@ -501,22 +516,28 @@
return;
}
- // copy the lump to a SDL_Mixer chunk...
- chunk = Mix_LoadRAW_RW(SDL_RWFromMem((void*)S_VoiceInfo.data,
- S_VoiceInfo.len), 0, S_VoiceInfo.freq, AUDIO_U8, 1);
- if (chunk == NULL)
- Sys_Error("Mix_LoadRAW_RW() failed!\n");
- voice = Mix_LoadChannel(-1, chunk, 0);
-
+ wavecvt.len = S_sfx[VOICE_SOUND_ID].len;
+ wavecvt.buf = (Uint8*)malloc(wavecvt.len*wavecvt.len_mult);
+ memcpy(wavecvt.buf, S_sfx[VOICE_SOUND_ID].data, S_sfx[VOICE_SOUND_ID].len);
+
+ if (SDL_ConvertAudio(&wavecvt) == -1) {
+ Sys_Error("SDL_ConvertAudio: error during conversion\n");
+ return;
+ }
+ // copy the lump to a SDL_Mixer chunk...
+ chunk = Mix_QuickLoad_RAW((Uint8*)wavecvt.buf,
+ wavecvt.len*wavecvt.len_mult);
+ if (chunk == NULL)
+ Sys_Error("Mix_QuickLoad_RAW() failed!\n");
+
+ voice = Mix_PlayChannel(-1, chunk, 0);
+
if (voice < 0)
{
S_DoneWithLump(VOICE_SOUND_ID);
return;
}
- // ready to go...
- Mix_Play(voice);
-
channels[chan].origin_id = 0;
channels[chan].origin = TVec(0, 0, 0);
channels[chan].channel = 1;
@@ -558,19 +579,26 @@
return;
}
- chunk = Mix_LoadRAW_RW(SDL_RWFromMem((void*)S_sfx[sound_id].data,
- S_sfx[sound_id].len), 0, S_sfx[sound_id].freq, AUDIO_U8, 1);
- if (chunk == NULL)
- Sys_Error("Mix_LoadRAW_RW() failed!\n");
-
- voice = Mix_LoadChannel(-1, chunk, 0);
+ wavecvt.len = S_sfx[sound_id].len;
+ wavecvt.buf = (Uint8*)malloc(wavecvt.len*wavecvt.len_mult);
+ memcpy(wavecvt.buf, S_sfx[sound_id].data, S_sfx[sound_id].len);
+
+ if (SDL_ConvertAudio(&wavecvt) == -1) {
+ Sys_Error("SDL_ConvertAudio: error during conversion\n");
+ return;
+ }
+ // copy the lump to a SDL_Mixer chunk...
+ chunk = Mix_QuickLoad_RAW((Uint8*)wavecvt.buf,
+ wavecvt.len*wavecvt.len_mult);
+ if (chunk == NULL)
+ Sys_Error("Mix_QuickLoad_RAW() failed!\n");
+
+ voice = Mix_PlayChannel(-1, chunk, 0);
if (voice < 0)
{
return;
}
-
- Mix_Play(voice);
start = Sys_Time();
while (1)

View File

@ -0,0 +1,74 @@
--- source/sys_sdl.cpp.orig Wed Jan 21 15:22:13 2004
+++ source/sys_sdl.cpp Wed Jan 21 15:29:23 2004
@@ -45,7 +45,7 @@
// EXTERNAL FUNCTION PROTOTYPES --------------------------------------------
-#ifdef __i386__
+#if defined(__i386__)
extern "C" {
void Sys_SetFPCW(void);
@@ -61,8 +61,10 @@
// PUBLIC DATA DEFINITIONS -------------------------------------------------
+#ifndef __FreeBSD__
jmp_buf __Context::Env;
const char* __Context::ErrToThrow;
+#endif
// PRIVATE DATA DEFINITIONS ------------------------------------------------
@@ -256,6 +258,7 @@
void Sys_MakeCodeWriteable(unsigned long startaddr, unsigned long length)
{
+#ifndef __FreeBSD__
int r;
unsigned long addr;
int psize = getpagesize();
@@ -268,6 +271,7 @@
{
Sys_Error("Protection change failed\n");
}
+#endif
}
//**************************************************************************
@@ -726,6 +730,7 @@
{
signal(s, SIG_IGN); // Ignore future instances of this signal.
+#ifndef __FreeBSD__
switch (s)
{
case SIGABRT:
@@ -756,6 +761,27 @@
__Context::ErrToThrow = "Terminated by signal";
}
longjmp(__Context::Env, 1);
+#else
+ switch (s)
+ {
+ case SIGABRT: throw VavoomError("Abnormal termination triggered by abort call");
+ case SIGFPE: throw VavoomError("Floating Point Exception");
+ case SIGILL: throw VavoomError("Illegal Instruction");
+ case SIGINT: throw VavoomError("Interrupted by User");
+ case SIGSEGV: throw VavoomError("Segmentation Violation");
+ case SIGTERM: throw VavoomError("Software termination signal from kill");
+#ifdef SIGKILL
+ case SIGKILL: throw VavoomError("Killed");
+#endif
+#ifdef SIGQUIT
+ case SIGQUIT: throw VavoomError("Quited");
+#endif
+#ifdef SIGNOFP
+ case SIGNOFP: throw VavoomError("VAVOOM requires a floating-point processor");
+#endif
+ default: throw VavoomError("Terminated by signal");
+ }
+#endif
}
//==========================================================================

23
games/vavoom/pkg-descr Normal file
View File

@ -0,0 +1,23 @@
Vavoom is a source port based on sources of Doom, Heretic, Hexen
and a little bit from Quake. To play Vavoom you need main wad file
from Doom, Ultimate Doom, Doom II, Heretic, Hexen or Strife.
Differences from original game:
* Polygonal engine with colored lighting, with software mode, OpenGL support;
* Translucency;
* Complete support for freelook (look up & down) in all games;
* A powerful language to describe game logic;
* 100% client/server architecture with in-game joining;
* Quake-style console, with key bindings;
* Indirect support for DeHackEd;
* Crosshair;
* Jumping;
....
No music support is available in SDL compiled version at the moment.
Sound effects are 8 bit, 44100KHz, stereo.
WWW: http://www.vavoom-engine.com/
- Igor Pokrovsky
tiamat@comset.net

17
games/vavoom/pkg-message Normal file
View File

@ -0,0 +1,17 @@
*****************************************************************************
* In order to run Vavoom you will need original IWAD file from either:
* Doom, Doom II, TNT, Plutonia, Heretic, Hexen or Strife.
*
* Manually do the following:
* 1. Make directory for Vavoom data
* mkdir ${HOME}/vavoom
* 2. Copy Vavoom data into this directory
* cp -r %%DATADIR%%/basev ${HOME}/vavoom
* 3. Copy IWAD from original game here as well
* cp /where/is/doom.wad ${HOME}/vavoom
* 4. Execute Vavoom from directory with game data
* cd ${HOME}/vavoom && %%PREFIX%%/bin/Vavoom -opengl
* or
* cd ${HOME}/vavoom && %%PREFIX%%/bin/Vavoom -opengl -openal
* if you compiled Vavoom with OpenAL support
*****************************************************************************

30
games/vavoom/pkg-plist Normal file
View File

@ -0,0 +1,30 @@
bin/Vavoom
bin/VavoomSV
%%DATADIR%%/basev/doom/wad0.wad
@dirrm %%DATADIR%%/basev/doom
%%DATADIR%%/basev/doom1/base.txt
%%DATADIR%%/basev/doom1/wad0.wad
@dirrm %%DATADIR%%/basev/doom1
%%DATADIR%%/basev/doom2/base.txt
%%DATADIR%%/basev/doom2/wad0.wad
@dirrm %%DATADIR%%/basev/doom2
%%DATADIR%%/basev/heretic/wad0.wad
@dirrm %%DATADIR%%/basev/heretic
%%DATADIR%%/basev/hexen/wad0.wad
@dirrm %%DATADIR%%/basev/hexen
%%DATADIR%%/basev/plutonia/base.txt
%%DATADIR%%/basev/plutonia/wad0.wad
@dirrm %%DATADIR%%/basev/plutonia
%%DATADIR%%/basev/strife/wad0.wad
@dirrm %%DATADIR%%/basev/strife
%%DATADIR%%/basev/tnt/base.txt
%%DATADIR%%/basev/tnt/wad0.wad
@dirrm %%DATADIR%%/basev/tnt
%%DATADIR%%/basev/default.cfg
%%DATADIR%%/basev/games.txt
%%DATADIR%%/basev/startup.vs
@dirrm %%DATADIR%%/basev
@dirrm %%DATADIR%%
%%PORTDOCS%%%%DOCSDIR%%/vavmref.txt
%%PORTDOCS%%%%DOCSDIR%%/vavoom.txt
%%PORTDOCS%%@dirrm %%DOCSDIR%%