Fix crash in mesa / i965_dri.so caused by globally overriding delete

- Add a manpage and support for freedoom (from Debian)
- Add appdata
This commit is contained in:
Hans de Goede 2016-01-04 19:14:54 +01:00
commit 609a41f7d5
13 changed files with 859 additions and 34 deletions

View file

@ -1,9 +1,8 @@
[Desktop Entry]
Encoding=UTF-8
Name=Doom
Comment=Doom Shareware launcher, will automatically download the needed data-files
Exec=doom-shareware
Icon=doom-logo.png
Icon=doom-logo
Terminal=false
Type=Application
Categories=Game;ActionGame;

View file

@ -2,6 +2,12 @@
set -e
# First check if the rpmfusion system-wide DOOM1.WAD is installed and
# if it is use that instead of downloading
if [ -f /usr/share/doom-shareware/DOOM1.WAD ]; then
exec /usr/bin/vavoom -iwaddir /usr/share/doom-shareware -iwad DOOM1.WAD -doom "$@"
fi
if [ ! -f ~/.vavoom/doom-shareware/doom1.wad ]; then
set +e
/usr/share/autodl/AutoDL.py /usr/share/vavoom/doom.autodlrc

421
freedoom-support.patch Normal file
View file

@ -0,0 +1,421 @@
Description: FreeDoom enablement for Vavoom.
this patch allows to run freedoom on vavoom with a single parameter
it also allows to save games on a dedicated directory instead of sharing with doom 2.
Author: gustavo panizzo <gfa@zumbi.com.ar>
Bug-Debian: http://bugs.debian.org/661233
Last-Update: 2012-02-28
--- vavoom-1.33.orig/basev/CMakeLists.txt
+++ vavoom-1.33/basev/CMakeLists.txt
@@ -10,5 +10,6 @@ add_subdirectory(hexen)
add_subdirectory(plutonia)
add_subdirectory(strife)
add_subdirectory(tnt)
+add_subdirectory(freedoom)
install(FILES games.txt DESTINATION ${DATADIR}/basev)
--- vavoom-1.33.orig/basev/games.txt
+++ vavoom-1.33/basev/games.txt
@@ -78,3 +78,9 @@ iwad strife1.wad
addfile voices.wad
param -strife
end
+
+// FreeDoom
+game basev/freedoom
+iwad freedoom.wad
+param -freedoom
+end
--- /dev/null
+++ vavoom-1.33/basev/freedoom/mapinfo.txt
@@ -0,0 +1,364 @@
+//------------------------------------------------------
+// Episode definition
+clearepisodes
+
+episode map01
+name "FreeDoom"
+
+//------------------------------------------------------
+map map01 lookup hustr_1
+titlepatch cwilv00
+cluster 5
+next map02
+secretnext map02
+sky1 sky1 0
+music d_runnin
+par 30
+sucktime 1
+
+map map02 lookup hustr_2
+titlepatch cwilv01
+cluster 5
+next map03
+secretnext map03
+sky1 sky1 0
+music d_stalks
+par 90
+sucktime 1
+
+map map03 lookup hustr_3
+titlepatch cwilv02
+cluster 5
+next map04
+secretnext map04
+sky1 sky1 0
+music d_countd
+par 120
+sucktime 1
+
+map map04 lookup hustr_4
+titlepatch cwilv03
+cluster 5
+next map05
+secretnext map05
+sky1 sky1 0
+music d_betwee
+par 120
+sucktime 1
+
+map map05 lookup hustr_5
+titlepatch cwilv04
+cluster 5
+next map06
+secretnext map06
+sky1 sky1 0
+music d_doom
+par 90
+sucktime 1
+
+map map06 lookup hustr_6
+titlepatch cwilv05
+cluster 5
+next map07
+secretnext map07
+sky1 sky1 0
+music d_the_da
+par 150
+sucktime 1
+
+;------------------------------------------------------
+map map07 lookup hustr_7
+titlepatch cwilv06
+cluster 6
+next map08
+secretnext map08
+sky1 sky1 0
+music d_shawn
+par 120
+sucktime 1
+map07special
+
+map map08 lookup hustr_8
+titlepatch cwilv07
+cluster 6
+next map09
+secretnext map09
+sky1 sky1 0
+music d_ddtblu
+par 120
+sucktime 1
+
+map map09 lookup hustr_9
+titlepatch cwilv08
+cluster 6
+next map10
+secretnext map10
+sky1 sky1 0
+music d_in_cit
+par 270
+sucktime 1
+
+map map10 lookup hustr_10
+titlepatch cwilv09
+cluster 6
+next map11
+secretnext map11
+sky1 sky1 0
+music d_dead
+par 90
+sucktime 1
+
+map map11 lookup hustr_11
+titlepatch cwilv10
+cluster 6
+next map12
+secretnext map12
+sky1 sky1 0
+music d_stlks2
+par 210
+sucktime 1
+
+;------------------------------------------------------
+map map12 lookup hustr_12
+titlepatch cwilv11
+cluster 7
+next map13
+secretnext map13
+sky1 sky2 0
+music d_theda2
+par 150
+sucktime 1
+
+map map13 lookup hustr_13
+titlepatch cwilv12
+cluster 7
+next map14
+secretnext map14
+sky1 sky2 0
+music d_doom2
+par 150
+sucktime 1
+
+map map14 lookup hustr_14
+titlepatch cwilv13
+cluster 7
+next map15
+secretnext map15
+sky1 sky2 0
+music d_ddtbl2
+par 150
+sucktime 1
+
+map map15 lookup hustr_15
+titlepatch cwilv14
+cluster 7
+next map16
+secretnext map31
+sky1 sky2 0
+music d_runni2
+par 210
+sucktime 1
+
+map map16 lookup hustr_16
+titlepatch cwilv15
+cluster 7
+next map17
+secretnext map17
+sky1 sky2 0
+music d_dead2
+par 150
+sucktime 1
+
+map map17 lookup hustr_17
+titlepatch cwilv16
+cluster 7
+next map18
+secretnext map18
+sky1 sky2 0
+music d_stlks3
+par 420
+sucktime 1
+
+map map18 lookup hustr_18
+titlepatch cwilv17
+cluster 7
+next map19
+secretnext map19
+sky1 sky2 0
+music d_romero
+par 150
+sucktime 1
+
+map map19 lookup hustr_19
+titlepatch cwilv18
+cluster 7
+next map20
+secretnext map20
+sky1 sky2 0
+music d_shawn2
+par 210
+sucktime 1
+
+map map20 lookup hustr_20
+titlepatch cwilv19
+cluster 7
+next map21
+secretnext map21
+sky1 sky2 0
+music d_messag
+par 150
+sucktime 1
+
+;-------------------------------------------------------
+map map21 lookup hustr_21
+titlepatch cwilv20
+cluster 8
+next map22
+secretnext map22
+sky1 sky3 0
+music d_count2
+par 240
+sucktime 1
+
+map map22 lookup hustr_22
+titlepatch cwilv21
+cluster 8
+next map23
+secretnext map23
+sky1 sky3 0
+music d_ddtbl3
+par 150
+sucktime 1
+
+map map23 lookup hustr_23
+titlepatch cwilv22
+cluster 8
+next map24
+secretnext map24
+sky1 sky3 0
+music d_ampie
+par 180
+sucktime 1
+
+map map24 lookup hustr_24
+titlepatch cwilv23
+cluster 8
+next map25
+secretnext map25
+sky1 sky3 0
+music d_theda3
+par 150
+sucktime 1
+
+map map25 lookup hustr_25
+titlepatch cwilv24
+cluster 8
+next map26
+secretnext map26
+sky1 sky3 0
+music d_adrian
+par 150
+sucktime 1
+
+map map26 lookup hustr_26
+titlepatch cwilv25
+cluster 8
+next map27
+secretnext map27
+sky1 sky3 0
+music d_messg2
+par 300
+sucktime 1
+
+map map27 lookup hustr_27
+titlepatch cwilv26
+cluster 8
+next map28
+secretnext map28
+sky1 sky3 0
+music d_romer2
+par 330
+sucktime 1
+
+map map28 lookup hustr_28
+titlepatch cwilv27
+cluster 8
+next map29
+secretnext map29
+sky1 sky3 0
+music d_tense
+par 420
+sucktime 1
+
+map map29 lookup hustr_29
+titlepatch cwilv28
+cluster 8
+next map30
+secretnext map30
+sky1 sky3 0
+music d_shawn3
+par 300
+sucktime 1
+
+map map30 lookup hustr_30
+titlepatch cwilv29
+cluster 8
+next EndGameC
+secretnext EndGameC
+sky1 sky3 0
+music d_openin
+par 180
+sucktime 1
+allowmonstertelefrags
+
+;------------------------------------------------------
+map map31 lookup hustr_31
+titlepatch cwilv30
+cluster 9
+next map16
+secretnext map32
+sky1 sky3 0
+music d_evil
+par 120
+sucktime 1
+
+map map32 lookup hustr_32
+titlepatch cwilv31
+cluster 10
+next map16
+secretnext map16
+sky1 sky3 0
+music d_ultima
+par 30
+sucktime 1
+
+;------------------------------------------------------
+clusterdef 5
+exittext lookup c1text
+flat slime16
+music d_read_m
+
+clusterdef 6
+exittext lookup c2text
+flat rrock14
+music d_read_m
+
+clusterdef 7
+exittext lookup c3text
+flat rrock07
+music d_read_m
+
+clusterdef 8
+exittext lookup c4text
+flat rrock17
+music d_read_m
+
+clusterdef 9
+entertext lookup c5text
+flat rrock13
+music d_read_m
+
+clusterdef 10
+entertext lookup c6text
+flat rrock19
+music d_read_m
--- /dev/null
+++ vavoom-1.33/basev/freedoom/CMakeLists.txt
@@ -0,0 +1,12 @@
+configure_file(basepak.ls.in ${CMAKE_CURRENT_BINARY_DIR}/basepak.ls)
+
+add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/basepak.pk3
+ COMMAND ${VLUMPY} ARGS basepak.ls
+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/basepak.ls vlumpy
+ basepak.ls.in
+ mapinfo.txt
+ )
+add_custom_target(freedoom_basepak ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/basepak.pk3)
+
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/basepak.pk3 base.txt
+ DESTINATION ${DATADIR}/basev/freedoom)
--- /dev/null
+++ vavoom-1.33/basev/freedoom/basepak.ls.in
@@ -0,0 +1,3 @@
+$dest basepak.pk3
+
+mapinfo.txt @CMAKE_CURRENT_SOURCE_DIR@/mapinfo.txt
--- /dev/null
+++ vavoom-1.33/basev/freedoom/base.txt
@@ -0,0 +1,2 @@
+game basev/doom2
+end

51
freedoom-vlaunch.patch Normal file
View file

@ -0,0 +1,51 @@
Description: Add FreeDoom to vlaunch menu
this patch adds freedoom to vlaunch's menu.
Author: gustavo panizzo <gfa@zumbi.com.ar>
Bug-Debian: http://bugs.debian.org/661233
Last-Update: 2012-02-28
--- vavoom-1.33.orig/utils/vlaunch/vlaunch.cpp
+++ vavoom-1.33/utils/vlaunch/vlaunch.cpp
@@ -153,16 +153,17 @@ VMain::VMain()
gsizer->Add(new wxStaticText(page, -1, wxT(" ")), 0, wxALL, 4);
gsizer->Add(new wxStaticText(page, -1, wxT("Game:")), 0, wxALL, 4);
- wxString GameChoices[8];
+ wxString GameChoices[9];
GameChoices[0] = wxT("(Autodetect)");
GameChoices[1] = wxT("Doom");
GameChoices[2] = wxT("Doom 2: Hell On Earth");
GameChoices[3] = wxT("Doom 2: TNT Evilution");
GameChoices[4] = wxT("Doom 2: The Plutonia Experiment");
- GameChoices[5] = wxT("Heretic");
- GameChoices[6] = wxT("Hexen");
- GameChoices[7] = wxT("Strife");
- Game = new wxComboBox(page, -1, GameChoices[0], wxDefaultPosition, wxDefaultSize, 8, GameChoices, wxCB_READONLY);
+ GameChoices[5] = wxT("FreeDoom");
+ GameChoices[6] = wxT("Heretic");
+ GameChoices[7] = wxT("Hexen");
+ GameChoices[8] = wxT("Strife");
+ Game = new wxComboBox(page, -1, GameChoices[0], wxDefaultPosition, wxDefaultSize, 9, GameChoices, wxCB_READONLY);
gsizer->Add(Game, 0, wxALL, 4);
gsizer->Add(new wxStaticText(page, -1, wxT("Custom game:")), 0, wxALL, 4);
@@ -443,13 +444,16 @@ void VMain::OnRun(wxCommandEvent&)
case 4:
CmdLine += wxT(" -plutonia");
break;
- case 5:
+ case 5:
+ CmdLine += wxT(" -freedoom");
+ break;
+ case 6:
CmdLine += wxT(" -heretic");
break;
- case 6:
+ case 7:
CmdLine += wxT(" -hexen");
break;
- case 7:
+ case 8:
CmdLine += wxT(" -strife");
break;
}

View file

@ -1,9 +1,8 @@
[Desktop Entry]
Encoding=UTF-8
Name=Heretic
Comment=Heretic Shareware launcher, will automatically download the needed data-files
Exec=heretic-shareware
Icon=tux-b2f.png
Icon=tux-b2f
Terminal=false
Type=Application
Categories=Game;ActionGame;

View file

@ -1,9 +1,8 @@
[Desktop Entry]
Encoding=UTF-8
Name=Hexen
Comment=Hexen Demo launcher, will automatically download the needed data-files
Exec=hexen-demo
Icon=tux-b2f.png
Icon=tux-b2f
Terminal=false
Type=Application
Categories=Game;ActionGame;

View file

@ -1,9 +1,8 @@
[Desktop Entry]
Encoding=UTF-8
Name=Strife
Comment=Strife Demo launcher, will automatically download the needed data-files
Exec=strife-demo
Icon=tux-b2f.png
Icon=tux-b2f
Terminal=false
Type=Application
Categories=Game;ActionGame;

View file

@ -0,0 +1,151 @@
Subject: Don't override the global new and delete operators
Author: Hans de Goede <hdegoede@redhat.com>
vavoom used to override the global new and delete operators, this is a
bad idea and leads to e.g. crashes inside mesa.
Some code paths in vavoom rely on Z_Malloc / new resp. Z_Free / delete
to be interchangable, e.g. source/vc_type.cpp VScriptArray::Clear
sometimes calls delete[] on memory allocated with Z_Malloc.
So we cannot simply just remove the custom new / delete operator
implementations, in stead this patch removes these operator overrides,
and re-implements Z_Malloc / Z_Free as wrappers around new / delete,
keeping the interchangability, while dropping the troublesome override
of the global new / delete operators.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
--- vavoom-1.33/libs/core/zone.cpp 2010-04-21 15:15:40.000000000 +0200
+++ vavoom-1.33.new/libs/core/zone.cpp 2016-01-03 20:38:07.029914648 +0100
@@ -33,6 +33,8 @@
#include "core.h"
+#if 0
+
// MACROS ------------------------------------------------------------------
#define SMALLID 0x22
@@ -516,3 +518,4 @@
}
#endif
+#endif
--- vavoom-1.33/libs/core/zone.h 2010-12-23 20:47:55.000000000 +0100
+++ vavoom-1.33.new/libs/core/zone.h 2016-01-03 20:39:57.420007907 +0100
@@ -27,88 +27,20 @@
//**
//**************************************************************************
-//#define ZONE_DEBUG 1
-
void Z_Shutdown();
-#ifdef ZONE_DEBUG
-
-void* Z_Malloc(int size, const char* FileName, int LineNumber);
-void* Z_Calloc(int size, const char* FileName, int LineNumber);
-void Z_Free(void* ptr, const char* FileName, int LineNumber);
-
-inline void* operator new(size_t Size, const char* FileName, int LineNumber)
-{
- return Z_Malloc(Size, FileName, LineNumber);
-}
-
-inline void operator delete(void* Ptr, const char* FileName, int LineNumber)
-{
- Z_Free(Ptr, FileName, LineNumber);
-}
-
-inline void* operator new[](size_t Size, const char* FileName, int LineNumber)
-{
- return Z_Malloc(Size, FileName, LineNumber);
-}
-
-inline void operator delete[](void* Ptr, const char* FileName, int LineNumber)
-{
- Z_Free(Ptr, FileName, LineNumber);
-}
-
-inline void* operator new(size_t Size)
-{
- return Z_Malloc(Size, "", 0);
-}
-
-inline void operator delete(void* Ptr)
+static inline void* Z_Malloc(int size)
{
- Z_Free(Ptr, "", 0);
+ return static_cast<void *>(operator new(size));
}
-inline void* operator new[](size_t Size)
+static inline void* Z_Calloc(int size)
{
- return Z_Malloc(Size, "", 0);
+ return memset(Z_Malloc(size), 0, size);
}
-inline void operator delete[](void* Ptr)
+static inline void Z_Free(void* ptr)
{
- Z_Free(Ptr, "", 0);
+ char *p = (char *)ptr;
+ delete p;
}
-
-#define Z_Malloc(size) Z_Malloc(size, __FILE__, __LINE__)
-#define Z_Calloc(size) Z_Calloc(size, __FILE__, __LINE__)
-#define Z_Free(ptr) Z_Free(ptr, __FILE__, __LINE__)
-
-#define ZONE_DEBUG_NEW new(__FILE__, __LINE__)
-#undef new
-#define new ZONE_DEBUG_NEW
-
-#else
-
-void* Z_Malloc(int size);
-void* Z_Calloc(int size);
-void Z_Free(void* ptr);
-
-inline void* operator new(size_t Size)
-{
- return Z_Malloc(int(Size));
-}
-
-inline void operator delete(void* Ptr)
-{
- Z_Free(Ptr);
-}
-
-inline void* operator new[](size_t Size)
-{
- return Z_Malloc(int(Size));
-}
-
-inline void operator delete[](void* Ptr)
-{
- Z_Free(Ptr);
-}
-
-#endif
--- vavoom-1.33/source/host.cpp 2010-06-04 23:20:22.000000000 +0200
+++ vavoom-1.33.new/source/host.cpp 2016-01-03 20:42:04.898651198 +0100
@@ -706,5 +706,5 @@
SAFE_SHUTDOWN(VObject::StaticExit, ())
SAFE_SHUTDOWN(VName::StaticExit, ())
- SAFE_SHUTDOWN(Z_Shutdown, ())
+// SAFE_SHUTDOWN(Z_Shutdown, ())
}
--- vavoom-1.33/source/sys_sdl.cpp~ 2010-09-07 22:05:19.000000000 +0200
+++ vavoom-1.33/source/sys_sdl.cpp 2016-01-03 20:52:32.566259819 +0100
@@ -530,7 +530,7 @@ int main(int argc,char** argv)
catch (VavoomError &e)
{
Host_Shutdown();
- stack_trace();
+// stack_trace();
printf("\n%s\n", e.message);
dprintf("\n\nERROR: %s\n", e.message);

133
vavoom.6 Normal file
View file

@ -0,0 +1,133 @@
.TH vavoom 6 games
.SS NAME
vavoom \- The most advanced Doom/Heretic/Hexen/Strife source port around!
.SH SYNOPSIS
.B vavoom
[ \-opengl ] [ \-d3d ] [ \-particles \fIn\fR ] [ \-surfcachesize \fIn\fR ] [ \-nosound ] [ \-no3dsound ] [ \-nomusic ] [ \-cddev \fIfile\fR ] [ \-openal ] [ \-nomouse ] [ \-nojoy ] [ \-nolan ] [ \-noudp ] [ \-ip \fIip_addr\fR ] [ \-noipx ] [ \-mpath ] [ \-port \fIn\fR ] { [ \-freedoom] | [ \-doom ] | [ \-doom2 ] | [ \-tnt ] | [ \-plutonia ] | [ \-heretic ] | [ \-hexen ] | [ \-strife ] } [ \-game \fIdirectory\fR ] [ \-devgame \fIdirectory\fR ] [ \-devsnd \fIsndinfo_script\fR ] [ \-progs \fIdirectory\fP ]
.SH DESCRIPTION
.B Vavoom
is a source port based on sources of Doom, Heretic, Hexen and
a little bit from Quake. Supported platforms are Windows and Linux.
Vavoom has a graphical launcher (vlaunch).
.SH Graphic Options
.TP
.BI \-opengl
selects OpenGL driver
.TP
.BI \-d3d
selects Direct3D driver
.TP
.BI \-particles\ <count>
specifies number of particles to use, default is 2048, but you can't have less than 512 (i.e. you can't disable them)
.TP
.BI \-surfcachesize\ <size>
specifies size of surface cache memory, in kilobytes
.SH Sound Options
.TP
.BI \-nosound
disables all sound, music and CD-Audio
.TP
.BI \-nosfx
disables sound
.TP
.BI \-no3dsound
disables 3D sound, use original mode, Windows version only
.TP
.BI \-nomusic
disables music
.TP
.BI \-nocdaudio
disables CD music
.TP
.BI \-cddev\ <file>
specifies CD device \fIfile\fP, default /dev/cdrom, LINUX version only
.TP
.BI \-openal
enabled OpenAL driver.
.SH Input Options
.BI \-nomouse
disables mouse
.TP
.BI \-nojoy
disables joystick
.SH Network Options
.BI \-nolan
disables all LAN drivers
.TP
.BI \-noudp
disables TCP/IP driver
.TP
.BI \-ip\ <address>
specifies IP address, Windows version only
.TP
.BI \-noipx
disables IPX driver
.TP
.BI \-mpath
enables MPATH TCP/IP driver, DOS version only
.TP
.BI \-port\ <port>
sets default LAN port
.SH Game selection
.BI \-freedoom
look only for FreeDoom IWAD files
.TP
.BI \-doom
look only for Doom IWAD files
.TP
.BI \-doom2
look only for Doom 2: Hell On Earth IWAD files
.TP
.BI \-tnt
look only for Doom TNT: Evilution IWAD files
.TP
.BI \-plutonia
look only for Doom: The Plutionia Experiment IWAD files
.TP
.BI \-heretic
look only for Heretic IWAD files
.TP
.BI \-hexen
look only for Hexen IWAD files
.TP
.BI \-strife
look only for Strife IWAD files
.SH Custom games and development
.BI \-game\ <directory>
specifies custom game.
.TP
.BI \-devgame\ <directory>
like \fI-game\fR, but also sets Vavoom in development mode.
.TP
.BI \-devsound\ <SNDINFO_script>
sets sound development mode, uses given SNDINFO script, sounds and music are loaded form archive \fIdirectory\fP, which is specified in script.
.TP
.BI \-progs\ <directory>
specifies \fIdirectory\fP where to look for progs. Server progs are loaded from \fIfile\fP svprogs.dat, client progs - clprogs.dat. Path must include ending slash.
Example: \-progs progs/myprogs/
.TP
.BI \-file\ <file1> [<file2> \.\.\.]
specifies additional files.
.TP
.BI \-iwaddir\ <dir1> [<dir2> \.\.\.]
specifies additional directories where to look for IWAD files.
.SH Debugging Options
.BI \-debug
creates a debug \fIfile\fP basev/debug.txt with all console messages.
.TP
.BI \-starttime\ <time>
sets start time, not in LINUX version and dedicated servers
.TP
.BI \-rhide
prints debugfile to stderr, in DOS version Sys_Error exits with call frame traceback
.SH More Information
http://vavoom-engine.com/wiki/index.php?title=Command_line_arguments
/usr/share/doc/vavoom/vavoom.txt.gz
.PP
Doom is a registered trademark of id software (http://www.idsoftware.com/).
.SH Author
See the copyright file on \fI/usr/share/doc/vavoom/copyright\fR

33
vavoom.appdata.xml Normal file
View file

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<component type="desktop">
<id>vavoom.desktop</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-2.0+</project_license>
<name>Vavoom</name>
<summary>Enhanced Doom/Heretic/Hexen/Strife engine</summary>
<description>
<p>
Vavoom is an enhanced open-source port of Doom. Allowing you to play the
classic 3D first-person shooter Doom and the Doom derived classics
Heretic, Hexen and Strife.
</p>
<p>
This package adds menu entries to directly start the shareware versions
of these games, which can be freely downloaded. When you start the game
for the first time it will offer to download the shareware files for you.
</p>
<p>
Compared to the original games vavoom adds extra features such as
translucency, freelook support, opengl-rendering and a Quake like console.
</p>
</description>
<url type="homepage">http://vavoom-engine.com/</url>
<screenshots>
<screenshot type="default">http://vavoom-engine.com/images/shots/shot00.jpg</screenshot>
<screenshot>http://vavoom-engine.com/images/shots/shot01.jpg</screenshot>
<screenshot>http://vavoom-engine.com/images/shots/shot03.jpg</screenshot>
<screenshot>http://vavoom-engine.com/images/shots/shot04.jpg</screenshot>
<screenshot>http://vavoom-engine.com/images/shots/shot07.jpg</screenshot>
</screenshots>
<updatecontact>jwrdegoede_at_fedoraproject.org</updatecontact>
</component>

9
vavoom.desktop Normal file
View file

@ -0,0 +1,9 @@
[Desktop Entry]
Name=Vavoom
Comment=Vavoom launcher
Exec=vlaunch
Icon=vavoom
Terminal=false
Type=Application
Categories=Game;ActionGame;
Keywords=game;fps;first;person;shooter;doom;heretic;hexen;strife;

BIN
vavoom.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

View file

@ -1,6 +1,6 @@
Name: vavoom
Version: 1.33
Release: 13%{?dist}
Release: 14%{?dist}
Summary: Enhanced Doom, Heretic, Hexen and Strife source port
Source0: http://downloads.sourceforge.net/vavoom/%{name}-%{version}.tar.bz2
Source1: doom.autodlrc
@ -15,17 +15,25 @@ Source9: doom-shareware.desktop
Source10: heretic-shareware.desktop
Source11: hexen-demo.desktop
Source12: strife-demo.desktop
Source13: doom-logo.png
Source14: tux-b2f.png
Source13: vavoom.desktop
Source14: vavoom.appdata.xml
Source15: vavoom.png
Source16: doom-logo.png
Source17: tux-b2f.png
Source18: vavoom.6
Patch0: vavoom-1.21-datadir.patch
Patch1: vavoom-1.27-CMakeLists.patch
Patch2: vavoom-1.33-format-security.patch
Patch3: vavoom-1.33-dont-override-delete.patch
Patch4: freedoom-support.patch
Patch5: freedoom-vlaunch.patch
URL: http://vavoom-engine.com/
Group: Amusements/Games
License: GPLv2+
BuildRequires: SDL_mixer-devel SDL_net-devel libpng-devel libjpeg-devel
BuildRequires: libvorbis-devel mikmod-devel flac-devel openal-soft-devel
BuildRequires: libGLU-devel wxGTK-devel desktop-file-utils cmake
BuildRequires: libappstream-glib
Requires: timidity++-patches hicolor-icon-theme autodownloader
%description
@ -40,6 +48,10 @@ to play these classics under Linux.
%patch0 -p1 -b .datadir
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%build
%cmake -DWITH_LIBMAD:BOOL=OFF
@ -74,42 +86,55 @@ install -p -m 755 %{SOURCE8} $RPM_BUILD_ROOT%{_bindir}/strife-demo
# below is the desktop file and icon stuff.
mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications
desktop-file-install \
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
%{SOURCE9}
desktop-file-install \
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
%{SOURCE10}
desktop-file-install \
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
%{SOURCE11}
desktop-file-install \
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
%{SOURCE12}
mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps
install -p -m 644 %{SOURCE13} %{SOURCE14} \
for i in %{SOURCE9} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13}; do
desktop-file-install --dir $RPM_BUILD_ROOT%{_datadir}/applications "$i"
done
mkdir -p $RPM_BUILD_ROOT%{_datadir}/appdata
install -p -m 644 %{SOURCE14} $RPM_BUILD_ROOT%{_datadir}/appdata
appstream-util validate-relax --nonet \
$RPM_BUILD_ROOT%{_datadir}/appdata/%{name}.appdata.xml
mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/{48x48,96x96}/apps
install -p -m 644 %{SOURCE15} \
$RPM_BUILD_ROOT%{_datadir}/icons/hicolor/96x96/apps/
install -p -m 644 %{SOURCE16} %{SOURCE17} \
$RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps/
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man6
install -p -m 644 %{SOURCE18} $RPM_BUILD_ROOT%{_mandir}/man6
%post
touch --no-create %{_datadir}/icons/hicolor || :
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
fi
touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
%postun
touch --no-create %{_datadir}/icons/hicolor || :
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
if [ $1 -eq 0 ] ; then
touch --no-create %{_datadir}/icons/hicolor &>/dev/null
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
fi
%posttrans
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%files
%doc docs/*.log docs/gnu.txt docs/vavoom.txt
%doc docs/*.log docs/vavoom.txt
%license docs/gnu.txt
%{_bindir}/*
%{_mandir}/man6/%{name}.6*
%{_datadir}/%{name}
%{_datadir}/appdata/%{name}.appdata.xml
%{_datadir}/applications/*.desktop
%{_datadir}/icons/hicolor/48x48/apps/*.png
%{_datadir}/icons/hicolor/*/apps/*.png
%changelog
* Mon Jan 4 2016 Hans de Goede <hdegoede@redhat.com> - 1.33-14
- Fix crash in mesa / i965_dri.so caused by globally overriding delete
- Add a manpage and support for freedoom (from Debian)
- Add appdata
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.33-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild