From 994d4e2c59c02744b28009ed6fa85f7785d812aa Mon Sep 17 00:00:00 2001 From: Warren Togami Date: Mon, 21 May 2007 17:36:46 +0000 Subject: [PATCH 1/6] Initialize branch FC-6 for vavoom --- branch | 1 + 1 file changed, 1 insertion(+) create mode 100644 branch diff --git a/branch b/branch new file mode 100644 index 0000000..d5b6362 --- /dev/null +++ b/branch @@ -0,0 +1 @@ +FC-6 From 8cd71ca095936c077ca4a148da65534061033c27 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 21 May 2007 22:04:58 +0000 Subject: [PATCH 2/6] - Add missing libjpeg-devel BuildRequires --- .cvsignore | 1 + doom-logo.png | Bin 0 -> 4003 bytes doom-shareware.desktop | 9 +++ doom-shareware.sh | 23 ++++++ doom.autodlrc | 47 ++++++++++++ heretic-shareware.desktop | 9 +++ heretic-shareware.sh | 23 ++++++ heretic.autodlrc | 63 ++++++++++++++++ hexen-demo.desktop | 9 +++ hexen-demo.sh | 21 ++++++ hexen.autodlrc | 46 ++++++++++++ sources | 1 + strife-demo.desktop | 9 +++ strife-demo.sh | 21 ++++++ strife.autodlrc | 26 +++++++ tux-b2f.png | Bin 0 -> 4106 bytes vavoom-1.21-datadir.patch | 21 ++++++ vavoom-1.23-64bit.patch | 90 ++++++++++++++++++++++ vavoom-1.23-fixes.patch | 51 +++++++++++++ vavoom.spec | 154 ++++++++++++++++++++++++++++++++++++++ 20 files changed, 624 insertions(+) create mode 100644 doom-logo.png create mode 100644 doom-shareware.desktop create mode 100644 doom-shareware.sh create mode 100644 doom.autodlrc create mode 100644 heretic-shareware.desktop create mode 100644 heretic-shareware.sh create mode 100644 heretic.autodlrc create mode 100644 hexen-demo.desktop create mode 100644 hexen-demo.sh create mode 100644 hexen.autodlrc create mode 100644 strife-demo.desktop create mode 100644 strife-demo.sh create mode 100644 strife.autodlrc create mode 100644 tux-b2f.png create mode 100644 vavoom-1.21-datadir.patch create mode 100644 vavoom-1.23-64bit.patch create mode 100644 vavoom-1.23-fixes.patch create mode 100644 vavoom.spec diff --git a/.cvsignore b/.cvsignore index e69de29..6ffc351 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +vavoom-1.23.tar.bz2 diff --git a/doom-logo.png b/doom-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..29c168f6cbbee838364dec028c05f35ff65998f0 GIT binary patch literal 4003 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 JPDHLkV1ft>weSD{ literal 0 HcmV?d00001 diff --git a/doom-shareware.desktop b/doom-shareware.desktop new file mode 100644 index 0000000..6e994ea --- /dev/null +++ b/doom-shareware.desktop @@ -0,0 +1,9 @@ +[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 +Terminal=false +Type=Application +Categories=Game;ActionGame; diff --git a/doom-shareware.sh b/doom-shareware.sh new file mode 100644 index 0000000..b7c11ab --- /dev/null +++ b/doom-shareware.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +set -e + +if [ ! -f ~/.vavoom/doom-shareware/doom1.wad ]; then + set +e + /usr/share/autodl/AutoDL.py /usr/share/vavoom/doom.autodlrc + STATUS=$? + set -e + # status 2 means download was ok, but the user choice not to start the game + if [ "$STATUS" = "0" -o "$STATUS" = "2" ]; then + cd ~/.vavoom/doom-shareware + unzip -u doom19s.zip 'DOOMS_19.?' + cat DOOMS_19.1 DOOMS_19.2 > doom.zip + unzip -u -L doom.zip doom1.wad + rm doom19s.zip DOOMS_19.1 DOOMS_19.2 doom.zip + fi + if [ "$STATUS" != "0" ]; then + exit $STATUS + fi +fi + +exec /usr/bin/vavoom -iwaddir ~/.vavoom/doom-shareware -doom "$@" diff --git a/doom.autodlrc b/doom.autodlrc new file mode 100644 index 0000000..0ed372f --- /dev/null +++ b/doom.autodlrc @@ -0,0 +1,47 @@ +[MESSAGELIST] +[MESSAGE] + [TITLE]Please click 'Accept' to allow internet access.[/TITLE] + [TEXT]In order to play Doom, an ID software game, the original Doom datafiles are needed. + +Click Accept, to download the shareware version of the Doom datafiles, which can be freely downloaded from the internet. + +If you posess the registered version you can use that instead, by using the following command: "vavoom -iwaddir ". Where is a directory containing the datafiles of the registered version. + +Please click Accept to allow access to the internet to download the necessary datafiles.[/TEXT] +[/MESSAGE] +[MESSAGE] + [TITLE]License Information[/TITLE] + [TEXT] LIMITED USE SOFTWARE LICENSE AGREEMENT + +This Limited Use Software License Agreement (the "Agreement") is a legal agreement between you, the end-user, and Id Software, Inc. ("ID"). By continuing the installation of this game program, by loading or running the game, or by placing or copying the game program onto your computer hard drive, you are agreeing to be bound by the terms of this Agreement. + +ID SOFTWARE LICENSE + + 1. Grant of License. ID grants to you the right to use the Id Software game program (the "Software"), which is the shareware version or episode one of the game program. For purposes of this section, "use" means loading the Software into RAM, as well as installation on a hard disk or other storage device. You may not: modify, translate, disassemble, decompile, reverse engineer, or create derivative works based upon the Software. You agree thatd the Software will not be shipped, transferred or exported into any country in violation of the U.S. Export Administration Act and that you will not utilize, in any other manner, the Software in violation of any applicable law. + + 2. Copyright. The Software is owned by ID and is protected by United States copyright laws and international treaty provisions. You must treat the Software like any other copyrighted material, except that you may make copies of the Software to give to other persons. You may not charge or receive any consideration from any other person for the receipt or use of the Software without receiving ID's prior written consent as specified in the VENDOR.DOC file. You agree to use your best efforts to see that any user of the Software licensed hereunder complies with this Agreement. + + 3. Limited Warranty. ID warrants that if properly installed and operated on a computer for which it is designed, the Software will perform substantially in accordance with its designed purpose for a period of ninety (90) days from the date the Software is first obtained by an end-user. ID's entire liability and your exclusive remedy shall be, at ID's option, either (a) return of the retail price paid, if any, or (b) repair or replacement of the Software that does not meet ID's Limited Warranty. To make a warranty claim, return the Software to the point of purchase, accompanied by proof of purchase, your name, your address, and a statement of defect, or return the Software with the above information to ID. This Limited Warranty is void if failure of the Software has resulted in whole or in part from accident, abuse, misapplication or violation of this Agreement. Any replacement Software will be warranted for the remainder of the original warranty period or thirty (30) days, whichever is longer. This warranty allocates risks of product failure between Licensee and ID. ID's product pricing reflects this allocation of risk and the limitations of liability contained in this warranty. + + 4. NO OTHER WARRANTIES. ID DISCLAIMS ALL OTHER WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE SOFTWARE AND THE ACCOMPANYING WRITTEN MATERIALS, IF ANY. THIS LIMITED WARRANTY GIVES YOU SPECIFIC LEGAL RIGHTS. YOU MAY HAVE OTHERS WHICH VARY FROM JURISDICTION TO JURISDICTION. ID DOES NOT WARRANT THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED, ERROR FREE OR MEET LICENSEE'S SPECIFIC REQUIREMENTS. THE WARRANTY SET FORTH ABOVE IS IN LIEU OF ALL OTHER EXPRESS WARRANTIES WHETHER ORAL OR WRITTEN. THE AGENTS, EMPLOYEES, DISTRIBUTORS, AND DEALERS OF ID ARE NOT AUTHORIZED TO MAKE MODIFICATIONS TO THIS WARRANTY, OR ADDITIONAL WARRANTIES ON BEHALF OF ID. ADDITIONAL STATEMENTS SUCH AS DEALER ADVERTISING OR PRESENTATIONS, WHETHER ORAL OR WRITTEN, DO NOT CONSTITUTE WARRANTIES BY ID AND SHOULD NOT BE RELIED UPON. + + 5. Exclusive Remedies. You agree that your exclusive remedy against ID, its affiliates, contractors, suppliers, and agents for loss or damage caused by any defect or failure in the Software regardless of the form of action, whether in contract, tort, including negligence, strict liability or otherwise, shall be the return of the retail purchase price paid, if any, or replacement of the Software. This Agreement shall be construed in accordance with and governed by the laws of the State of Texas. Copyright and other proprietary matters will be governed by United States laws and international treaties. IN ANY CASE, ID SHALL NOT BE LIABLE FOR LOSS OF DATA, LOSS OF PROFITS, LOST SAVINGS, SPECIAL, INCIDENTAL, CONSEQUENTIAL, INDIRECT OR OTHER SIMILAR DAMAGES ARISING FROM BREACH OF WARRANTY, BREACH OF CONTRACT, NEGLIGENCE, OR OTHER LEGAL THEORY EVEN IF ID OR ITS AGENT HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so the above limitation or exclusion may not apply to you. + + 6. General Provisions. Neither this Agreement nor any part or portion hereof shall be assigned or sublicensed, except as described herein. Should any provision of this Agreement be held to be void, invalid, unenforceable or illegal by a court, the validity and enforceability of the other provisions shall not be affected thereby. If any provision is determined to be unenforceable, you agree to a modification of such provision to provide for enforcement of the provision's intent, to the extent permitted by applicable law. Failure of a party to enforce any provision of this Agreement shall not constitute or be construed as a waiver of such provision or of the right to enforce such provision. If you fail to comply with any terms of this Agreement, YOUR LICENSE IS AUTOMATICALLY TERMINATED. + + YOU ACKNOWLEDGE THAT YOU HAVE READ THIS AGREEMENT, YOU UNDERSTAND THIS AGREEMENT, AND UNDERSTAND THAT BY CONTINUING THE INSTALLATION OF THE SOFTWARE, BY LOADING OR RUNNING THE SOFTWARE, OR BY PLACING OR COPYING THE SOFTWARE ONTO YOUR COMPUTER HARD DRIVE, YOU AGREE TO BE BOUND BY THIS AGREEMENT'S TERMS AND CONDITIONS. YOU FURTHER AGREE THAT, EXCEPT FOR WRITTEN SEPARATE AGREEMENTS BETWEEN ID AND YOU, THIS AGREEMENT IS A COMPLETE AND EXCLUSIVE STATEMENT OF THE RIGHTS AND LIABILITIES OF THE PARTIES. THIS AGREEMENT SUPERSEDES ALL PRIOR ORAL AGREEMENTS, PROPOSALS OR UNDERSTANDINGS, AND ANY OTHER COMMUNICATIONS BETWEEN ID AND YOU RELATING TO THE SUBJECT MATTER OF THIS AGREEMENT.[/TEXT] +[/MESSAGE] +[/MESSAGELIST] + +[FILELIST] +[FILE] + [FILENAME]doom19s.zip[/FILENAME] + [MD5]244d181457c9be5f28b91b488e67e042[/MD5] + [PATH]$HOME/.vavoom/doom-shareware[/PATH] + [MIRRORS] + [URL]http://www.parkerinfo.com/dmdo/downloads/doom19s.zip[/URL] + [URL]ftp://ftp.fu-berlin.de/pc/msdos/games/idgames/idstuff/doom/doom19s.zip[/URL] + [URL]ftp://ftp.idsoftware.com/idstuff/doom/doom19s.zip[/URL] + [/MIRRORS] +[/FILE] +[/FILELIST] diff --git a/heretic-shareware.desktop b/heretic-shareware.desktop new file mode 100644 index 0000000..cfaf645 --- /dev/null +++ b/heretic-shareware.desktop @@ -0,0 +1,9 @@ +[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 +Terminal=false +Type=Application +Categories=Game;ActionGame; diff --git a/heretic-shareware.sh b/heretic-shareware.sh new file mode 100644 index 0000000..e89eb09 --- /dev/null +++ b/heretic-shareware.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +set -e + +if [ ! -f ~/.vavoom/heretic-shareware/heretic1.wad ]; then + set +e + /usr/share/autodl/AutoDL.py /usr/share/vavoom/heretic.autodlrc + STATUS=$? + set -e + # status 2 means download was ok, but the user choice not to start the game + if [ "$STATUS" = "0" -o "$STATUS" = "2" ]; then + cd ~/.vavoom/heretic-shareware + unzip -u htic_v12.zip 'HTIC_V12.?' + cat HTIC_V12.1 HTIC_V12.2 > heretic.zip + unzip -u -L heretic.zip heretic1.wad + rm htic_v12.zip HTIC_V12.1 HTIC_V12.2 heretic.zip + fi + if [ "$STATUS" != "0" ]; then + exit $STATUS + fi +fi + +exec /usr/bin/vavoom -iwaddir ~/.vavoom/heretic-shareware -heretic "$@" diff --git a/heretic.autodlrc b/heretic.autodlrc new file mode 100644 index 0000000..a28140b --- /dev/null +++ b/heretic.autodlrc @@ -0,0 +1,63 @@ +[MESSAGELIST] +[MESSAGE] + [TITLE]Please click 'Accept' to allow internet access.[/TITLE] + [TEXT]In order to play Heretic, a Raven & ID software game, the original Heretic datafiles are needed. + +Click Accept, to download the shareware version of the Heretic datafiles, which can be freely downloaded from the internet. + +If you posess the registered version you can use that instead, by using the following command: "vavoom -heretic -iwaddir ". Where is a directory containing the datafiles of the registered version. + +Please click Accept to allow access to the internet to download the necessary datafiles.[/TEXT] +[/MESSAGE] +[MESSAGE] + [TITLE]License Information[/TITLE] + [TEXT] LIMITED USE SOFTWARE LICENSE AGREEMENT + +This Limited Use Software License Agreement (the "Agreement") is a legal agreement between you, the end-user, and Id Software, Inc. ("ID"). By continuing the installation of this game program, by loading or running the game, or by placing or copying the game program onto your computer hard drive, you are agreeing to be bound by the terms of this Agreement. + +ID SOFTWARE LICENSE + + 1. Grant of License. ID grants to you the right to use the Id Software game program (the "Software"), which is the shareware version or episode one of the game program. For purposes of this section, "use" means loading the Software into RAM, as well as installation on a hard disk or other storage device. You shall not: rent, lease, sell, distribute for money or other consideration, modify, translate, disassemble, decompile, reverse engineer, or create derivative works based upon the Software. You agree that the Software will not be shipped, transferred or exported into any country in violation of the U.S. Export Administration Act (or any other law governing such matters) and that you will not utilize, in any other manner, the Software in violation of any applicable law. + + 2. Commercial Use is Prohibited: Under no circumstances shall you, the end user, be permitted, allowed or authorized to commercially exploit the Software. Neither you nor anyone at your direction shall do the following acts: + +a. Rent the Software; + +b. Sell the Software; + +c. Lease the Software; + +d. Offer the Software on a pay-per-play basis; + +e. Distribute the Software for money or other consideration; or + +f. In any manner and through any medium whatsoever commercially exploit the software or use the software for any commercial purpose.; + + 3. Electronic Distribution is Permitted: ID grants to you the right to distribute, royalty free and by electronic means only, the Software; provided, however the Software must be so distributed only in compressed format. + + 4. Copyright. The Software is owned by Raven Software, Inc. and exclusively licensed to id Software for distribution and is protected by United States copyright laws and international treaty provisions. You must treat the Software like any other copyrighted material, except that you may make copies of the Software to give to other persons. You may not charge or receive any consideration from any other person for the receipt or use of the Software without receiving ID's prior written consent as specified in the VENDOR.DOC file. You agree to use your best efforts to see that any user of the Software licensed hereunder complies with this Agreement. + + 5. Limited Warranty. ID warrants that if properly installed and operated on a computer for which it is designed, the Software will perform substantially in accordance with its designed purpose for a period of ninety (90) days from the date the Software is first obtained by an end-user. ID's entire liability and your exclusive remedy shall be, at ID's option, either (a) return of the retail price paid, if any, or (b) repair or replacement of the Software that does not meet ID's Limited Warranty. To make a warranty claim, return the Software to the point of purchase, accompanied by proof of purchase, your name, your address, and a statement of defect, or return the Software with the above information to ID. This Limited Warranty is void if failure of the Software has resulted in whole or in part from accident, abuse, misapplication or violation of this Agreement. Any replacement Software will be warranted for the remainder of the original warranty period or thirty (30) days, whichever is longer. This warranty allocates risks of product failure between Licensee and ID. ID's product pricing reflects this allocation of risk and the limitations of liability contained in this warranty. + + 6. NO OTHER WARRANTIES. ID DISCLAIMS ALL OTHER WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE SOFTWARE AND THE ACCOMPANYING WRITTEN MATERIALS, IF ANY. THIS LIMITED WARRANTY GIVES YOU SPECIFIC LEGAL RIGHTS. YOU MAY HAVE OTHERS WHICH VARY FROM JURISDICTION TO JURISDICTION. ID DOES NOT WARRANT THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED, ERROR FREE OR MEET LICENSEE'S SPECIFIC REQUIREMENTS. THE WARRANTY SET FORTH ABOVE IS IN LIEU OF ALL OTHER EXPRESS WARRANTIES WHETHER ORAL OR WRITTEN. THE AGENTS, EMPLOYEES, DISTRIBUTORS, AND DEALERS OF ID ARE NOT AUTHORIZED TO MAKE MODIFICATIONS TO THIS WARRANTY, OR ADDITIONAL WARRANTIES ON BEHALF OF ID. ADDITIONAL STATEMENTS SUCH AS DEALER ADVERTISING OR PRESENTATIONS, WHETHER ORAL OR WRITTEN, DO NOT CONSTITUTE WARRANTIES BY ID AND SHOULD NOT BE RELIED UPON. + + 7. Exclusive Remedies. You agree that your exclusive remedy against ID, its affiliates, contractors, suppliers, and agents for loss or damage caused by any defect or failure in the Software regardless of the form of action, whether in contract, tort, including negligence, strict liability or otherwise, shall be the return of the retail purchase price paid, if any, or replacement of the Software. This Agreement shall be construed in accordance with and governed by the laws of the State of Texas. Copyright and other proprietary matters will be governed by United States laws and international treaties. IN ANY CASE, ID SHALL NOT BE LIABLE FOR LOSS OF DATA, LOSS OF PROFITS, LOST SAVINGS, SPECIAL, INCIDENTAL, CONSEQUENTIAL, INDIRECT OR OTHER SIMILAR DAMAGES ARISING FROM BREACH OF WARRANTY, BREACH OF CONTRACT, NEGLIGENCE, OR OTHER LEGAL THEORY EVEN IF ID OR ITS AGENT HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so the above limitation or exclusion may not apply to you. + + 8. General Provisions. Neither this Agreement nor any part or portion hereof shall be assigned or sublicensed, except as described herein. Should any provision of this Agreement be held to be void, invalid, unenforceable or illegal by a court, the validity and enforceability of the other provisions shall not be affected thereby. If any provision is determined to be unenforceable, you agree to a modification of such provision to provide for enforcement of the provision's intent, to the extent permitted by applicable law. Failure of a party to enforce any provision of this Agreement shall not constitute or be construed as a waiver of such provision or of the right to enforce such provision. If you fail to comply with any terms of this Agreement, YOUR LICENSE IS AUTOMATICALLY TERMINATED. + + YOU ACKNOWLEDGE THAT YOU HAVE READ THIS AGREEMENT, YOU UNDERSTAND THIS AGREEMENT, AND UNDERSTAND THAT BY CONTINUING THE INSTALLATION OF THE SOFTWARE, BY LOADING OR RUNNING THE SOFTWARE, OR BY PLACING OR COPYING THE SOFTWARE ONTO YOUR COMPUTER HARD DRIVE, YOU AGREE TO BE BOUND BY THIS AGREEMENT'S TERMS AND CONDITIONS. YOU FURTHER AGREE THAT, EXCEPT FOR WRITTEN SEPARATE AGREEMENTS BETWEEN ID AND YOU, THIS AGREEMENT IS A COMPLETE AND EXCLUSIVE STATEMENT OF THE RIGHTS AND LIABILITIES OF THE PARTIES. THIS AGREEMENT SUPERSEDES ALL PRIOR ORAL AGREEMENTS, PROPOSALS OR UNDERSTANDINGS, AND ANY OTHER COMMUNICATIONS BETWEEN ID AND YOU RELATING TO THE SUBJECT MATTER OF THIS AGREEMENT.[/TEXT] +[/MESSAGE] +[/MESSAGELIST] + +[FILELIST] +[FILE] + [FILENAME]htic_v12.zip[/FILENAME] + [MD5]420b23b3d8f2cbd164c121369eaa2b09[/MD5] + [PATH]$HOME/.vavoom/heretic-shareware[/PATH] + [MIRRORS] + [URL]http://www.parkerinfo.com/dmdo/downloads/htic_v12.zip[/URL] + [URL]ftp://ftp.fu-berlin.de/pc/msdos/games/idgames/idstuff/heretic/htic_v12.zip[/URL] + [URL]ftp://ftp.idsoftware.com/idstuff/heretic/htic_v12.zip[/URL] + [/MIRRORS] +[/FILE] +[/FILELIST] diff --git a/hexen-demo.desktop b/hexen-demo.desktop new file mode 100644 index 0000000..b4f44b2 --- /dev/null +++ b/hexen-demo.desktop @@ -0,0 +1,9 @@ +[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 +Terminal=false +Type=Application +Categories=Game;ActionGame; diff --git a/hexen-demo.sh b/hexen-demo.sh new file mode 100644 index 0000000..215ef45 --- /dev/null +++ b/hexen-demo.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +set -e + +if [ ! -f ~/.vavoom/hexen-demo/hexen.wad ]; then + set +e + /usr/share/autodl/AutoDL.py /usr/share/vavoom/hexen.autodlrc + STATUS=$? + set -e + # status 2 means download was ok, but the user choice not to start the game + if [ "$STATUS" = "0" -o "$STATUS" = "2" ]; then + cd ~/.vavoom/hexen-demo + unzip -u -L hexndemo.zip hexen.wad + rm hexndemo.zip + fi + if [ "$STATUS" != "0" ]; then + exit $STATUS + fi +fi + +exec /usr/bin/vavoom -iwaddir ~/.vavoom/hexen-demo -hexen "$@" diff --git a/hexen.autodlrc b/hexen.autodlrc new file mode 100644 index 0000000..2cae36d --- /dev/null +++ b/hexen.autodlrc @@ -0,0 +1,46 @@ +[MESSAGELIST] +[MESSAGE] + [TITLE]Please click 'Accept' to allow internet access.[/TITLE] + [TEXT]In order to play Hexen, a Raven & ID software game, the original Heretic datafiles are needed. + +Click Accept, to download the demo version of the Hexen datafiles, which can be freely downloaded from the internet. + +If you posess the full version you can use that instead, by using the following command: "vavoom -hexen -iwaddir ". Where is a directory containing the datafiles of the full version. + +Please click Accept to allow access to the internet to download the necessary datafiles.[/TEXT] +[/MESSAGE] +[MESSAGE] + [TITLE]License Information[/TITLE] + [TEXT]Hexen: Beyond Heretic DEMO +Re-released October 18th, 1995 +-------------------------------------- +Created by Raven Software (C) 1995 +Published by id Software +Distributed by GT Interactive Software +-------------------------------------- +Worldwide retail release date: Oct 30th +Hexen is NOT a shareware product. + +Please direct all bug reports to support@gtinteractive.com. Do NOT email id Software or Raven Software with bug reports. + +This is a 4-level demo of the new action-adventure Hexen: Beyond Heretic, the sequel to the original Heretic first-person action-adventure. Besides the storyline, the major differences between Heretic and Hexen are numerous. + +Enjoy the demo. Then rush out and get the game when it hits the stores! You won't be sorry. But your friends will be when they think they can take you on in a Deathmatch and they find a Maulotaur you just summoned bashing their brains into the dirt with you laughing at them behind its back. + +John Romero +id Software, inc.[/TEXT] +[/MESSAGE] +[/MESSAGELIST] + +[FILELIST] +[FILE] + [FILENAME]hexndemo.zip[/FILENAME] + [MD5]b30672df8b41fd35fafe40ce0c3855c3[/MD5] + [PATH]$HOME/.vavoom/hexen-demo[/PATH] + [MIRRORS] + [URL]http://www.parkerinfo.com/dmdo/downloads/hexndemo.zip[/URL] + [URL]ftp://ftp.fu-berlin.de/pc/msdos/games/idgames/idstuff/hexen/hexndemo.zip[/URL] + [URL]ftp://ftp.idsoftware.com/idstuff/hexen/hexndemo.zip[/URL] + [/MIRRORS] +[/FILE] +[/FILELIST] diff --git a/sources b/sources index e69de29..f273716 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +f27b5bd75939f7f139d521b48bb0a1d4 vavoom-1.23.tar.bz2 diff --git a/strife-demo.desktop b/strife-demo.desktop new file mode 100644 index 0000000..c23af96 --- /dev/null +++ b/strife-demo.desktop @@ -0,0 +1,9 @@ +[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 +Terminal=false +Type=Application +Categories=Game;ActionGame; diff --git a/strife-demo.sh b/strife-demo.sh new file mode 100644 index 0000000..2739d07 --- /dev/null +++ b/strife-demo.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +set -e + +if [ ! -f ~/.vavoom/strife-demo/strife0.wad ]; then + set +e + /usr/share/autodl/AutoDL.py /usr/share/vavoom/strife.autodlrc + STATUS=$? + set -e + # status 2 means download was ok, but the user choice not to start the game + if [ "$STATUS" = "0" -o "$STATUS" = "2" ]; then + cd ~/.vavoom/strife-demo + unzip -u -L strife11.zip strife0.wad + rm strife11.zip + fi + if [ "$STATUS" != "0" ]; then + exit $STATUS + fi +fi + +exec /usr/bin/vavoom -iwaddir ~/.vavoom/strife-demo -strife "$@" diff --git a/strife.autodlrc b/strife.autodlrc new file mode 100644 index 0000000..e030b9e --- /dev/null +++ b/strife.autodlrc @@ -0,0 +1,26 @@ +[MESSAGELIST] +[MESSAGE] + [TITLE]Please click 'Accept' to allow internet access.[/TITLE] + [TEXT]In order to play Strife, a Rogue Entertainment game, the original Strife datafiles are needed. + +Click Accept, to download the demo version of the Strife datafiles, which can be freely downloaded from the internet. + +If you posess the full version you can use that instead, by using the following command: "vavoom -strife -iwaddir ". Where is a directory containing the datafiles of the full version. + +Please click Accept to allow access to the internet to download the necessary datafiles.[/TEXT] +[/MESSAGE] +[/MESSAGELIST] + +[FILELIST] +[FILE] + [FILENAME]strife11.zip[/FILENAME] + [MD5]972070afb30c96fc3c69d954dfab2424[/MD5] + [PATH]$HOME/.vavoom/strife-demo[/PATH] + [MIRRORS] + [URL]http://www.gamers.org/pub/games/strife/strife11.zip[/URL] + [URL]ftp://ftp.fu-berlin.de/pc/msdos/games/idgames/roguestuff/strife11.zip[/URL] + [URL]http://downloads.planetmirror.com/pub/idgames/roguestuff/strife11.zip[/URL] + [URL]ftp://archives.3dgamers.com/pub/games/strife/strife11.zip[/URL] + [/MIRRORS] +[/FILE] +[/FILELIST] diff --git a/tux-b2f.png b/tux-b2f.png new file mode 100644 index 0000000000000000000000000000000000000000..712e036d24698b9e2c34e56df965a7d4697d72ab GIT binary patch literal 4106 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 IM6N<$f+|ELH~;_u literal 0 HcmV?d00001 diff --git a/vavoom-1.21-datadir.patch b/vavoom-1.21-datadir.patch new file mode 100644 index 0000000..dd3d9ed --- /dev/null +++ b/vavoom-1.21-datadir.patch @@ -0,0 +1,21 @@ +diff -Naur vavoom-1.21.bak/source/files.cpp vavoom-1.21/source/files.cpp +--- vavoom-1.21.bak/source/files.cpp 2006-06-27 12:47:24.000000000 -0700 ++++ vavoom-1.21/source/files.cpp 2006-07-15 12:31:34.000000000 -0700 +@@ -336,7 +336,7 @@ + const char* p; + + // Set up base directory (main data files). +- fl_basedir = "."; ++ fl_basedir = FL_BASEDIR; + p = GArgs.CheckValue("-basedir"); + if (p) + { +diff -Naur vavoom-1.21.bak/source/files.h vavoom-1.21/source/files.h +--- vavoom-1.21.bak/source/files.h 2006-06-27 12:47:24.000000000 -0700 ++++ vavoom-1.21/source/files.h 2006-07-15 12:30:51.000000000 -0700 +@@ -47,3 +47,5 @@ + extern VStr fl_basedir; + extern VStr fl_savedir; + extern VStr fl_gamedir; ++ ++#define FL_BASEDIR "." diff --git a/vavoom-1.23-64bit.patch b/vavoom-1.23-64bit.patch new file mode 100644 index 0000000..6825235 --- /dev/null +++ b/vavoom-1.23-64bit.patch @@ -0,0 +1,90 @@ +--- vavoom-1.23/source/vclass.cpp.64bit 2007-05-16 12:01:33.000000000 +0200 ++++ vavoom-1.23/source/vclass.cpp 2007-05-16 12:01:57.000000000 +0200 +@@ -27,6 +27,20 @@ + #include "progdefs.h" + #include "network.h" + ++class DummyClass1 : public VVirtualObjectBase ++{ ++public: ++ void* Pointer; ++ vuint8 Byte1; ++ virtual void Dummy() = 0; ++}; ++ ++class DummyClass2 : public DummyClass1 ++{ ++public: ++ vuint8 Byte2; ++}; ++ + bool VMemberBase::GObjInitialised; + VClass* VMemberBase::GClasses; + TArray VMemberBase::GMembers; +@@ -2353,6 +2367,7 @@ + , LinkNext(0) + , ParentClass(0) + , ClassSize(0) ++, ClassUnalignedSize(0) + , ClassFlags(0) + , ClassVTable(0) + , ClassConstructor(0) +@@ -2388,6 +2403,7 @@ + , LinkNext(0) + , ParentClass(AParent) + , ClassSize(ASize) ++, ClassUnalignedSize(ASize) + , ClassFlags(AClassFlags) + , ClassVTable(0) + , ClassConstructor(ACtor) +@@ -2849,10 +2865,7 @@ + return; + } + +- int PrevSize = ClassSize; +- int size = ParentClass ? ParentClass->ClassSize : 0; + int numMethods = ParentClass ? ParentClass->ClassNumMethods : 0; +- VField* PrevField = NULL; + for (int i = 0; i < GMembers.Num(); i++) + { + if (GMembers[i]->MemberType != MEMBER_Method || +@@ -2877,6 +2890,21 @@ + } + M->VTableIndex = MOfs; + } ++ ++ VField* PrevField = NULL; ++ int PrevSize = ClassSize; ++ int size = 0; ++ if (ParentClass) ++ { ++ // GCC has a strange behavior of starting to add fields in subclasses ++ // in a class that has virtual methods on unaligned parent size offset. ++ // In other cases and in other compilers it starts on aligned parent ++ // class size offset. ++ if (sizeof(DummyClass1) == sizeof(DummyClass2)) ++ size = ParentClass->ClassUnalignedSize; ++ else ++ size = ParentClass->ClassSize; ++ } + for (VField* fi = Fields; fi; fi = fi->Next) + { + if (fi->Type.Type == ev_bool && PrevField && +@@ -2904,6 +2932,7 @@ + } + PrevField = fi; + } ++ ClassUnalignedSize = size; + size = (size + sizeof(void*) - 1) & ~(sizeof(void*) - 1); + ClassSize = size; + ClassNumMethods = numMethods; +--- vavoom-1.23/source/vclass.h.64bit 2007-05-16 12:01:39.000000000 +0200 ++++ vavoom-1.23/source/vclass.h 2007-05-16 12:01:54.000000000 +0200 +@@ -375,6 +375,7 @@ + VClass* ParentClass; + + vint32 ClassSize; ++ vint32 ClassUnalignedSize; + vuint32 ClassFlags; + VMethod** ClassVTable; + void (*ClassConstructor)(); diff --git a/vavoom-1.23-fixes.patch b/vavoom-1.23-fixes.patch new file mode 100644 index 0000000..2f62c52 --- /dev/null +++ b/vavoom-1.23-fixes.patch @@ -0,0 +1,51 @@ +--- vavoom-1.21.2/source/d_local.h~ 2007-05-14 22:47:14.000000000 +0200 ++++ vavoom-1.21.2/source/d_local.h 2007-05-14 22:47:14.000000000 +0200 +@@ -425,8 +425,10 @@ + extern spritespanfunc_t D_DrawAltFuzzSpriteSpans; + extern particle_func_t D_DrawParticle; + ++extern "C" { + extern float xscaleshrink; + extern float yscaleshrink; ++} + + extern byte *colormaps; + +--- vavoom-1.23/source/s_flac.cpp 2007-04-28 16:54:28.000000000 +0200 ++++ vavoom-1.23.new/source/s_flac.cpp 2007-05-15 20:42:29.000000000 +0200 +@@ -54,7 +54,7 @@ + protected: + // FLAC decoder callbacks. + ::FLAC__StreamDecoderReadStatus read_callback(FLAC__byte buffer[], +- unsigned *bytes); ++ size_t *bytes); + ::FLAC__StreamDecoderWriteStatus write_callback( + const ::FLAC__Frame *frame, const FLAC__int32 * const buffer[]); + void metadata_callback(const ::FLAC__StreamMetadata *metadata); +@@ -92,7 +92,7 @@ + protected: + // FLAC decoder callbacks. + ::FLAC__StreamDecoderReadStatus read_callback(FLAC__byte buffer[], +- unsigned *bytes); ++ size_t *bytes); + ::FLAC__StreamDecoderWriteStatus write_callback( + const ::FLAC__Frame *frame, const FLAC__int32 * const buffer[]); + void metadata_callback(const ::FLAC__StreamMetadata *metadata); +@@ -199,7 +199,7 @@ + //========================================================================== + + ::FLAC__StreamDecoderReadStatus VFlacSampleLoader::FStream::read_callback( +- FLAC__byte buffer[], unsigned* bytes) ++ FLAC__byte buffer[], size_t* bytes) + { + guard(VFlacSampleLoader::FStream::read_callback); + if (*bytes > 0) +@@ -477,7 +477,7 @@ + //========================================================================== + + ::FLAC__StreamDecoderReadStatus VFlacAudioCodec::FStream::read_callback( +- FLAC__byte buffer[], unsigned* bytes) ++ FLAC__byte buffer[], size_t* bytes) + { + guard(VFlacAudioCodec::FStream::read_callback); + if (*bytes > 0) diff --git a/vavoom.spec b/vavoom.spec new file mode 100644 index 0000000..19cdf17 --- /dev/null +++ b/vavoom.spec @@ -0,0 +1,154 @@ +Name: vavoom +Version: 1.23 +Release: 2%{?dist} +Summary: Enhanced Doom, Heretic, Hexen and Strife source port +Source0: http://downloads.sourceforge.net/vavoom/%{name}-%{version}.tar.bz2 +Source1: doom.autodlrc +Source2: heretic.autodlrc +Source3: hexen.autodlrc +Source4: strife.autodlrc +Source5: doom-shareware.sh +Source6: heretic-shareware.sh +Source7: hexen-demo.sh +Source8: strife-demo.sh +Source9: doom-shareware.desktop +Source10: heretic-shareware.desktop +Source11: hexen-demo.desktop +Source12: strife-demo.desktop +Source13: doom-logo.png +Source14: tux-b2f.png +Patch0: vavoom-1.21-datadir.patch +Patch1: vavoom-1.23-fixes.patch +Patch2: vavoom-1.23-64bit.patch +URL: http://vavoom-engine.com/ +Group: Amusements/Games +License: GPL +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: SDL_mixer-devel SDL_net-devel libpng-devel libjpeg-devel +BuildRequires: libvorbis-devel mikmod-devel flac-devel openal-devel +BuildRequires: libGLU-devel desktop-file-utils +Requires: timidity++ hicolor-icon-theme autodownloader + +%description +Vavoom is an enhanced open-source port of Doom. Allowing you to play not only +the classic 3D first-person shooter Doom, but also the Doom derived classics +Heretic, Hexen and Strife. Compared to the original games it adds extra +features such as translucency and freelook support and ofcourse the capability +to play these classics under Linux. + + +%prep +%setup -q +%patch0 -p1 -b .datadir +%patch1 -p1 -b .fix +%patch2 -p1 -b .64bit + + +%build +# Disable allegro, we can use either SDL or allegro. Since SDL is used more +# widely we use that. We could in the future build both versions. +%configure --without-allegro --enable-debug + +# This one line sed command is easier than trying to muck with the Makefile +# to add the proper -D definition. +%{__sed} -i "s|#define FL_BASEDIR.*|#define FL_BASEDIR \"%{_datadir}/%{name}\"|" source/files.h +%{__sed} -i "s|#define CONFIG_FILE.*|#define CONFIG_FILE \"%{_sysconfdir}/timidity.cfg\"|" source/timidity/config.h + +# The Makefile doesn't do parallel builds correctly. Don't add smp_mflags. +make + + +%install +rm -rf $RPM_BUILD_ROOT +make install \ + DESTDIR=$RPM_BUILD_ROOT \ + INSTALL_PARMS="-m 0755" \ + INSTALL_EXEPARMS="-m 0755" \ + INSTALL_DIRPARMS="-m 0755 -d" + +mv $RPM_BUILD_ROOT%{_bindir}/%{name}.* $RPM_BUILD_ROOT%{_bindir}/%{name} +mv $RPM_BUILD_ROOT%{_bindir}/%{name}-dedicated.* $RPM_BUILD_ROOT%{_bindir}/%{name}-dedicated + +# install autodl files and wrapper scripts +install -p -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/%{name} +install -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/%{name} +install -p -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_datadir}/%{name} +install -p -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_datadir}/%{name} + +install -p -m 755 %{SOURCE5} $RPM_BUILD_ROOT%{_bindir}/doom-shareware +install -p -m 755 %{SOURCE6} $RPM_BUILD_ROOT%{_bindir}/heretic-shareware +install -p -m 755 %{SOURCE7} $RPM_BUILD_ROOT%{_bindir}/hexen-demo +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 --vendor fedora \ + --dir $RPM_BUILD_ROOT%{_datadir}/applications \ + %{SOURCE9} +desktop-file-install --vendor fedora \ + --dir $RPM_BUILD_ROOT%{_datadir}/applications \ + %{SOURCE10} +desktop-file-install --vendor fedora \ + --dir $RPM_BUILD_ROOT%{_datadir}/applications \ + %{SOURCE11} +desktop-file-install --vendor fedora \ + --dir $RPM_BUILD_ROOT%{_datadir}/applications \ + %{SOURCE12} +mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps +install -p -m 644 %{SOURCE13} %{SOURCE14} \ + $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps/ + + +%clean +rm -rf $RPM_BUILD_ROOT + + +%post +touch --no-create %{_datadir}/icons/hicolor || : +%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : + +%postun +touch --no-create %{_datadir}/icons/hicolor || : +%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : + + +%files +%defattr(-,root,root,-) +%doc docs/*.log docs/gnu.txt docs/vavoom.txt +%{_bindir}/* +%{_datadir}/%{name} +%{_datadir}/applications/fedora-*.desktop +%{_datadir}/icons/hicolor/48x48/apps/*.png + + +%changelog +* Sat May 19 2007 Hans de Goede 1.23-2 +- Add missing libjpeg-devel BuildRequires + +* Wed May 16 2007 Hans de Goede 1.23-1 +- Update to 1.23 +- No longer require freedoom, it doesn't seem to work with vavoom +- No longer require vavoom-vmdl, it has license issues +- Add --enable-debug to ./configure flags so that the bins don't get stripped +- Add .desktop files, wrapper scripts and autodownloader files for: + doom-shareware, heretic-shareware, hexen-demo and strife-demo +- Submit for FE inclusion + +* Sun Jul 23 2006 Wart 1.21.1-1 +- Update to 1.21.1 + +* Sat Jul 16 2006 Wart 1.21-2 +- Remove some comments from the spec file +- Remove shell script wrappers from /usr/bin +- Update datadir patch to 1.21 + +* Sat Jul 15 2006 Wart 1.21-1 +- Update to 1.21 + +* Fri Jun 16 2006 Wart 1.20-2 +- Added various fixes to conform to FHS. +- Added upstream patch to prevent cross-filesystem links when building + glvis files. + +* Sat Jun 3 2006 Wart 1.20-1 +- Initial Fedora Extras package From 6283fed43879bd9f6a76c9129d33a427e4dbec46 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 21 May 2007 22:17:27 +0000 Subject: [PATCH 3/6] make vavoom build with older FC-6 flac --- vavoom-1.23-fixes.patch | 38 -------------------------------------- 1 file changed, 38 deletions(-) diff --git a/vavoom-1.23-fixes.patch b/vavoom-1.23-fixes.patch index 2f62c52..ba2a59b 100644 --- a/vavoom-1.23-fixes.patch +++ b/vavoom-1.23-fixes.patch @@ -11,41 +11,3 @@ extern byte *colormaps; ---- vavoom-1.23/source/s_flac.cpp 2007-04-28 16:54:28.000000000 +0200 -+++ vavoom-1.23.new/source/s_flac.cpp 2007-05-15 20:42:29.000000000 +0200 -@@ -54,7 +54,7 @@ - protected: - // FLAC decoder callbacks. - ::FLAC__StreamDecoderReadStatus read_callback(FLAC__byte buffer[], -- unsigned *bytes); -+ size_t *bytes); - ::FLAC__StreamDecoderWriteStatus write_callback( - const ::FLAC__Frame *frame, const FLAC__int32 * const buffer[]); - void metadata_callback(const ::FLAC__StreamMetadata *metadata); -@@ -92,7 +92,7 @@ - protected: - // FLAC decoder callbacks. - ::FLAC__StreamDecoderReadStatus read_callback(FLAC__byte buffer[], -- unsigned *bytes); -+ size_t *bytes); - ::FLAC__StreamDecoderWriteStatus write_callback( - const ::FLAC__Frame *frame, const FLAC__int32 * const buffer[]); - void metadata_callback(const ::FLAC__StreamMetadata *metadata); -@@ -199,7 +199,7 @@ - //========================================================================== - - ::FLAC__StreamDecoderReadStatus VFlacSampleLoader::FStream::read_callback( -- FLAC__byte buffer[], unsigned* bytes) -+ FLAC__byte buffer[], size_t* bytes) - { - guard(VFlacSampleLoader::FStream::read_callback); - if (*bytes > 0) -@@ -477,7 +477,7 @@ - //========================================================================== - - ::FLAC__StreamDecoderReadStatus VFlacAudioCodec::FStream::read_callback( -- FLAC__byte buffer[], unsigned* bytes) -+ FLAC__byte buffer[], size_t* bytes) - { - guard(VFlacAudioCodec::FStream::read_callback); - if (*bytes > 0) From 33099254200601ad0b4c1fd0f10a375ff6d0fd49 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Fri, 31 Aug 2007 18:49:46 +0000 Subject: [PATCH 4/6] - Fix some security issues in the server: CVE-2007-4533, CVE-2007-4534, CVE-2007-4535 (bz 256621) --- vavoom-1.24-CVE-2007-4533-5.patch | 131 ++++++++++++++++++++++++++++++ vavoom.spec | 33 ++++++-- 2 files changed, 155 insertions(+), 9 deletions(-) create mode 100644 vavoom-1.24-CVE-2007-4533-5.patch diff --git a/vavoom-1.24-CVE-2007-4533-5.patch b/vavoom-1.24-CVE-2007-4533-5.patch new file mode 100644 index 0000000..23d1b21 --- /dev/null +++ b/vavoom-1.24-CVE-2007-4533-5.patch @@ -0,0 +1,131 @@ +--- trunk/vavoom/source/p_acs.cpp 2007/08/29 22:11:13 2684 ++++ trunk/vavoom/source/p_acs.cpp 2007/08/31 16:30:40 2685 +@@ -2486,7 +2486,7 @@ + } + else + { +- BroadcastCentrePrintf(*PrintStr); ++ BroadcastCentrePrint(*PrintStr); + } + ACSVM_BREAK; + +@@ -2649,7 +2649,7 @@ + ACSVM_CASE(PCD_EndPrintBold) + //FIXME yellow message + PrintStr = PrintStr.EvalEscapeSequences(); +- BroadcastCentrePrintf(*PrintStr); ++ BroadcastCentrePrint(*PrintStr); + ACSVM_BREAK; + + // Extended P-Code commands. +@@ -2974,7 +2974,7 @@ + } + else + { +- BroadcastCentrePrintf(*PrintStr); ++ BroadcastCentrePrint(*PrintStr); + } + sp = optstart - 6; + ACSVM_BREAK; +--- trunk/vavoom/source/p_thinker.cpp 2007/08/29 22:11:13 2684 ++++ trunk/vavoom/source/p_thinker.cpp 2007/08/31 16:30:40 2685 +@@ -294,6 +294,21 @@ + + //========================================================================== + // ++// VThinker::BroadcastPrint ++// ++//========================================================================== ++ ++void VThinker::BroadcastPrint(const char *s) ++{ ++ guard(VThinker::BroadcastPrint); ++ for (int i = 0; i < svs.max_clients; i++) ++ if (Level->Game->Players[i]) ++ Level->Game->Players[i]->eventClientPrint(s); ++ unguard; ++} ++ ++//========================================================================== ++// + // VThinker::BroadcastPrintf + // + //========================================================================== +@@ -308,9 +323,22 @@ + vsprintf(buf, s, v); + va_end(v); + ++ BroadcastPrint(buf); ++ unguard; ++} ++ ++//========================================================================== ++// ++// VThinker::BroadcastCentrePrint ++// ++//========================================================================== ++ ++void VThinker::BroadcastCentrePrint(const char *s) ++{ ++ guard(VThinker::BroadcastCentrePrint); + for (int i = 0; i < svs.max_clients; i++) + if (Level->Game->Players[i]) +- Level->Game->Players[i]->eventClientPrint(buf); ++ Level->Game->Players[i]->eventClientCentrePrint(s); + unguard; + } + +@@ -330,9 +358,7 @@ + vsprintf(buf, s, v); + va_end(v); + +- for (int i = 0; i < svs.max_clients; i++) +- if (Level->Game->Players[i]) +- Level->Game->Players[i]->eventClientCentrePrint(buf); ++ BroadcastCentrePrint(buf); + unguard; + } + +@@ -444,7 +470,7 @@ + { + VStr Msg = PF_FormatString(); + P_GET_SELF; +- Self->BroadcastPrintf(*Msg); ++ Self->BroadcastPrint(*Msg); + } + + IMPLEMENT_FUNCTION(VThinker, AllocDlight) +--- trunk/vavoom/source/sv_main.cpp 2007/08/29 22:11:13 2684 ++++ trunk/vavoom/source/sv_main.cpp 2007/08/31 16:30:40 2685 +@@ -1624,7 +1624,7 @@ + Text += " "; + Text += Args[i]; + } +- GLevelInfo->BroadcastPrintf(*Text); ++ GLevelInfo->BroadcastPrint(*Text); + GLevelInfo->StartSound(TVec(0, 0, 0), 0, + GSoundManager->GetSoundID("misc/chat"), 0, 1.0, 0); + unguard; +--- trunk/vavoom/source/p_thinker.h 2007/08/29 22:11:13 2684 ++++ trunk/vavoom/source/p_thinker.h 2007/08/31 16:30:40 2685 +@@ -76,7 +76,9 @@ + void AddSoundSequenceChoice(vint32, VName); + void StopSoundSequence(vint32); + ++ void BroadcastPrint(const char*); + void BroadcastPrintf(const char*, ...); ++ void BroadcastCentrePrint(const char*); + void BroadcastCentrePrintf(const char*, ...); + + DECLARE_FUNCTION(Spawn) +--- trunk/vavoom/source/str.h 2007/08/31 16:30:40 2685 ++++ trunk/vavoom/source/str.h 2007/08/31 17:25:55 2686 +@@ -345,6 +345,8 @@ + { + vint32 Len; + Strm << STRM_INDEX(Len); ++ if (Len < 0) ++ Len = 0; + S.Resize(Len); + if (Len) + Strm.Serialise(S.Str, Len + 1); diff --git a/vavoom.spec b/vavoom.spec index 19cdf17..f01f59f 100644 --- a/vavoom.spec +++ b/vavoom.spec @@ -1,6 +1,6 @@ Name: vavoom -Version: 1.23 -Release: 2%{?dist} +Version: 1.24 +Release: 3%{?dist} Summary: Enhanced Doom, Heretic, Hexen and Strife source port Source0: http://downloads.sourceforge.net/vavoom/%{name}-%{version}.tar.bz2 Source1: doom.autodlrc @@ -19,10 +19,10 @@ Source13: doom-logo.png Source14: tux-b2f.png Patch0: vavoom-1.21-datadir.patch Patch1: vavoom-1.23-fixes.patch -Patch2: vavoom-1.23-64bit.patch +Patch2: vavoom-1.24-CVE-2007-4533-5.patch URL: http://vavoom-engine.com/ Group: Amusements/Games -License: GPL +License: GPLv2+ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: SDL_mixer-devel SDL_net-devel libpng-devel libjpeg-devel BuildRequires: libvorbis-devel mikmod-devel flac-devel openal-devel @@ -41,7 +41,7 @@ to play these classics under Linux. %setup -q %patch0 -p1 -b .datadir %patch1 -p1 -b .fix -%patch2 -p1 -b .64bit +%patch2 -p2 -b .CVE %build @@ -51,8 +51,8 @@ to play these classics under Linux. # This one line sed command is easier than trying to muck with the Makefile # to add the proper -D definition. -%{__sed} -i "s|#define FL_BASEDIR.*|#define FL_BASEDIR \"%{_datadir}/%{name}\"|" source/files.h -%{__sed} -i "s|#define CONFIG_FILE.*|#define CONFIG_FILE \"%{_sysconfdir}/timidity.cfg\"|" source/timidity/config.h +sed -i "s|#define FL_BASEDIR.*|#define FL_BASEDIR \"%{_datadir}/%{name}\"|" source/files.h +sed -i "s|#define CONFIG_FILE.*|#define CONFIG_FILE \"%{_sysconfdir}/timidity.cfg\"|" source/timidity/config.h # The Makefile doesn't do parallel builds correctly. Don't add smp_mflags. make @@ -105,11 +105,15 @@ rm -rf $RPM_BUILD_ROOT %post touch --no-create %{_datadir}/icons/hicolor || : -%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : +if [ -x %{_bindir}/gtk-update-icon-cache ]; then + %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : +fi %postun touch --no-create %{_datadir}/icons/hicolor || : -%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : +if [ -x %{_bindir}/gtk-update-icon-cache ]; then + %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : +fi %files @@ -122,6 +126,17 @@ touch --no-create %{_datadir}/icons/hicolor || : %changelog +* Fri Aug 31 2007 Hans de Goede 1.24-3 +- Fix some security issues in the server: CVE-2007-4533, CVE-2007-4534, + CVE-2007-4535 (bz 256621) + +* Wed Aug 15 2007 Hans de Goede 1.24-2 +- Update License tag for new Licensing Guidelines compliance + +* Thu Jun 14 2007 Hans de Goede 1.24-1 +- New upstream release 1.24 +- This also fixes bug 241611 + * Sat May 19 2007 Hans de Goede 1.23-2 - Add missing libjpeg-devel BuildRequires From 9cfb6322e3508a8bf751fa00702be2f3fbf684d8 Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Thu, 26 Nov 2009 01:11:58 +0000 Subject: [PATCH 5/6] Fix typo that causes a failure to update the common directory. (releng #2781) --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index f0b8757..d19ebd6 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ NAME := vavoom SPECFILE = $(firstword $(wildcard *.spec)) define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done endef MAKEFILE_COMMON := $(shell $(find-makefile-common)) From 3a695452288f8eb4d61196ba01f5de9756d6c7ce Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 29 Jul 2010 14:54:18 +0000 Subject: [PATCH 6/6] dist-git conversion --- .cvsignore => .gitignore | 0 Makefile | 21 --------------------- branch | 1 - 3 files changed, 22 deletions(-) rename .cvsignore => .gitignore (100%) delete mode 100644 Makefile delete mode 100644 branch diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index d19ebd6..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: vavoom -# $Id$ -NAME := vavoom -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/branch b/branch deleted file mode 100644 index d5b6362..0000000 --- a/branch +++ /dev/null @@ -1 +0,0 @@ -FC-6