[chocolate-doom] 01/05: Imported Upstream version 2.2.1

Fabian Greffrath fabian at moszumanska.debian.org
Fri Sep 18 07:54:33 UTC 2015


This is an automated email from the git hooks/post-receive script.

fabian pushed a commit to branch master
in repository chocolate-doom.

commit 1477cf1315aace7e33c9069cbc77823cecf7ba20
Author: Fabian Greffrath <fabian at debian.org>
Date:   Fri Sep 18 09:25:21 2015 +0200

    Imported Upstream version 2.2.1
---
 NEWS                            |  42 ++++++++
 README.Strife                   |  70 ++------------
 codeblocks/config.h             |   6 +-
 codeblocks/game-res.rc          |  10 +-
 codeblocks/setup-res.rc         |   8 +-
 configure.ac                    |  18 +++-
 man/Makefile.am                 |   1 +
 man/doom.template               |   2 +
 man/environ.man                 |   5 +-
 man/heretic.template            |   2 +
 man/hexen.template              |   2 +
 man/iwad_paths.man              |  48 +++++++++
 man/strife.template             |   2 +
 msvc/config.h                   |   6 +-
 msvc/doom.vcproj                |   4 +
 msvc/heretic.vcproj             |   4 -
 msvc/hexen.vcproj               |   8 --
 msvc/win32.rc                   |   8 +-
 pkg/osx/Info.plist.in           |   6 ++
 src/.gitignore                  |   1 +
 src/Makefile.am                 |  19 ++++
 src/d_iwad.c                    | 209 +++++++++++++++++++++++++++-------------
 src/doom.appdata.xml.in         |  45 +++++++++
 src/doom/g_game.c               |  17 ++--
 src/doomtype.h                  |   6 ++
 src/heretic.appdata.xml.in      |  44 +++++++++
 src/heretic/d_main.c            |   1 -
 src/heretic/g_game.c            |   1 -
 src/hexen.appdata.xml.in        |  44 +++++++++
 src/hexen/g_game.c              |   1 -
 src/hexen/h2_main.c             |   1 -
 src/setup/multiplayer.c         |  13 ++-
 src/setup/setup-manifest.xml.in |   1 +
 src/setup/setup.desktop.in      |   3 +-
 src/strife.appdata.xml.in       |  45 +++++++++
 src/strife/g_game.c             |   1 -
 36 files changed, 520 insertions(+), 184 deletions(-)

diff --git a/NEWS b/NEWS
index 847829b..4f8d629 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,45 @@
+2.2.1 (2015-09-10):
+
+    Chocolate Doom has not seen a great deal of "stable" patch
+    releases in its history. While the development tree sees major new
+    features and changes, the purpose of this release, and hopefully
+    others to follow like it, is to repair some deficiencies that
+    existed in 2.2.0.
+
+    General:
+    * Preferences for the OS X launcher are now stored with a unique
+      name to not conflict with other applications. (thanks Xeriphas1994)
+    * Unix desktop entry files are now brought up to full desktop
+      entry specification compliance. (thanks chungy, Fabian)
+    * Unix AppData entries are now included, allowing software centers
+      to display detailed information about the engines. (thanks chungy)
+    * Partial XDG base directory specification compliance on Unix
+      systems now exist to search for IWAD paths.  One benefit is that
+      $HOME/.local/share/games/doom is now a valid location to store
+      and automatically find IWADs. (thanks chungy)
+
+    Build systems:
+    * The Microsoft Visual Studio build system was not fully
+      functional in 2.2.0 and has been fixed. (thanks Linguica)
+    * The autoconf build system checks for windres only for Windows
+      toolchains.  Some Linux distributions mistakingly include the
+      program in their native toolchains. (thanks Fabian)
+    * A compiler hint for packed structs has been added, which
+      otherwise broke the games when built under recent GCC releases
+      for Windows. (thanks Fabian)
+
+    Doom:
+    * The GOG.com releases of The Ultimate Doom, Doom II, and Final
+      Doom are now detected and supported on Windows. (thanks chungy)
+    * An integer overflow was used in spawn angle calculation,
+      undefined C behavior which broke with Clang optimization.
+      (thanks David Majnemer for insight)
+
+    Setup tool:
+    * The help URL for the level warp menu now points to the proper
+      wiki page, rather than the multiplayer page.
+    * The manifest has been updated for Windows 10 compatibility.
+      (thanks chungy)
 
 2.2.0 (2015-06-09):
 
diff --git a/README.Strife b/README.Strife
index 84be6b4..0bd8e77 100644
--- a/README.Strife
+++ b/README.Strife
@@ -28,29 +28,21 @@ have to the code is the binary executable file. Tools such as IDA Pro have
 been employed to disassemble and decompile the executable, which was cross-
 referenced against the Linux DOOM and DOS Heretic sources and painstakingly
 combed over multiple times, instruction-by-instruction, to ensure that the
-resulting Chocolate-Doom-based executable is as close as possible to the
+resulting Chocolate Doom-based executable is as close as possible to the
 original.
 
 
 * Is it Legal? *
 
-Reverse engineering is a protected activity so long as the original code is
-not used directly in the product. Due to the vast amount of information lost
-through the process of compilation, and the need to refactor large portions
-of code in order to eliminate non-portable idioms or to adapt them properly to
-Chocolate Doom's framework, the resulting code behaves the same, but is not
-the *same* code.
+Chocolate Strife was originally reverse-engineered from the DOS Strife
+binaries. Although reverse engineering is legally a protected activity, this
+nonetheless left some open questions about its legal status.
 
-In addition, James Monroe and John Carmack have both stated that they have no
-objections to the project. Because they are the original authors of the code,
-and neither Rogue nor their publisher, Velocity, Inc., exist any longer as legal
-entities, this is as close to legal permission as can be obtained.
-
-The transformed results of the disassembly have been combined with the
-raven-branch version of the Chocolate Doom source port by Simon 'fraggle'
-Howard, with his direct assistance, and have been released for the benefit of
-the community under the GNU General Public License v2.0. See the file "COPYING"
-for more details
+In 2014, a new commercial release of Strife was published (Strife: Veteran
+Edition) based on the Chocolate Strife code, and developed by the authors of
+Chocolate Strife under commercial license. The release of Strife: Veteran
+Edition, along with its GPL-licensed source code, constitutes tacit approval
+for the legal status of Chocolate Strife by its current copyright holder.
 
 
 * Is it Perfect? *
@@ -127,47 +119,3 @@ program is available from the same location where you downloaded this package.
 Aside from Chocolate Doom, portions of the code are derived from the Eternity
 Engine, Copyright 2011 Team Eternity, as published under the GNU GPL.
 
-
-* New in v2.0 Release *
-
-+ No infinite loop if menus are up during a screen fade.
-
-+ Peasant death sound during intro plays at normal volume level.
-
-+ Torches no longer produce pipping sounds (special thanks to fraggle).
-
-+ Fade to black occurs at the start of slideshow sequences as in vanilla.
-
-+ Network game support, with up to 8 players.
-
-+ No more infinite horizon effect if screen is resized while looking up or
-  down.
-
-+ Corrected default internal Acolyte and Beggar dialogue strings.
-
-+ Proper save game directory behavior (same as other Choco ports).
-
-+ Vanilla behavior for crush-and-raise floor types (special thanks to Gez).
-
-+ Bug fix for all crushing floor types.
-
-+ Broken power coupling awards erroneous quest flag #32, as in vanilla.
-
-+ Complete support for emulation of Strife v1.31, including abililty to save
-  on multiple save slots.
-
-+ Telefrags insta-kill as in vanilla (player cannot heal 10000 damage even with
-  a full inventory of health items).
-
-+ Frags are displayed on the keys popup during deathmatch.
-
-+ Multiplayer chat features, including ability to set player names, now match
-  vanilla behavior.
-
-+ Support for -random parameter.
-
-+ Vanilla behavior when pressing pause on menus with scroll bars (special
-  thanks to fraggle and Alexandre Xavier).
-
-+ Merged into Chocolate Doom trunk for v2.0 release.
-
diff --git a/codeblocks/config.h b/codeblocks/config.h
index d9c1142..26af9dd 100644
--- a/codeblocks/config.h
+++ b/codeblocks/config.h
@@ -9,13 +9,13 @@
 #define PACKAGE_NAME "Chocolate Doom"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "Chocolate Doom 2.2.0"
+#define PACKAGE_STRING "Chocolate Doom 2.2.1"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "chocolate-doom"
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "2.2.0"
+#define PACKAGE_VERSION "2.2.1"
 
 /* Change this when you create your awesome forked version */
 #define PROGRAM_PREFIX "chocolate-"
@@ -24,7 +24,7 @@
 #define STDC_HEADERS 1
 
 /* Version number of package */
-#define VERSION "2.2.0"
+#define VERSION "2.2.1"
 
 /* Define to 1 if your processor stores words with the most significant byte
    first (like Motorola and SPARC, unlike Intel and VAX). */
diff --git a/codeblocks/game-res.rc b/codeblocks/game-res.rc
index 16017f1..7392f1e 100644
--- a/codeblocks/game-res.rc
+++ b/codeblocks/game-res.rc
@@ -1,21 +1,21 @@
 1 ICON "../data/doom.ico"
 
 1 VERSIONINFO
-PRODUCTVERSION 2,2,0,0
-FILEVERSION 2,2,0,0
+PRODUCTVERSION 2,2,1,0
+FILEVERSION 2,2,1,0
 FILETYPE 1
 {
  BLOCK "StringFileInfo"
  {
   BLOCK "040904E4"
   {
-   VALUE "FileVersion", "2.2.0"
-   VALUE "FileDescription", "2.2.0"
+   VALUE "FileVersion", "2.2.1"
+   VALUE "FileDescription", "2.2.1"
    VALUE "InternalName", "Chocolate Doom"
    VALUE "CompanyName", "Chocolate Doom"
    VALUE "LegalCopyright", "GNU General Public License"
    VALUE "ProductName", "Chocolate Doom"
-   VALUE "ProductVersion", "2.2.0"
+   VALUE "ProductVersion", "2.2.1"
   }
  }
  BLOCK "VarFileInfo"
diff --git a/codeblocks/setup-res.rc b/codeblocks/setup-res.rc
index c0a32ce..26d5cfa 100644
--- a/codeblocks/setup-res.rc
+++ b/codeblocks/setup-res.rc
@@ -1,21 +1,21 @@
 1 ICON "../data/setup.ico"
 
 1 VERSIONINFO
-PRODUCTVERSION 2,2,0,0
-FILEVERSION 2,2,0,0
+PRODUCTVERSION 2,2,1,0
+FILEVERSION 2,2,1,0
 FILETYPE 1
 {
  BLOCK "StringFileInfo"
  {
   BLOCK "040904E4"
   {
-   VALUE "FileVersion", "2.2.0"
+   VALUE "FileVersion", "2.2.1"
    VALUE "FileDescription", "Chocolate Doom Setup"
    VALUE "InternalName", "chocolate-setup"
    VALUE "CompanyName", "Chocolate Doom"
    VALUE "LegalCopyright", "GNU General Public License"
    VALUE "ProductName", "Chocolate Doom Setup"
-   VALUE "ProductVersion", "2.2.0"
+   VALUE "ProductVersion", "2.2.1"
   }
  }
  BLOCK "VarFileInfo"
diff --git a/configure.ac b/configure.ac
index aab5f1a..ee97fe2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
-AC_INIT(Chocolate Doom, 2.2.0, fraggle at gmail.com, chocolate-doom)
+AC_INIT(Chocolate Doom, 2.2.1, fraggle at gmail.com, chocolate-doom)
 
 PACKAGE_SHORTNAME=${PACKAGE_NAME% Doom}
 PACKAGE_SHORTDESC="Conservative source port"
@@ -6,6 +6,7 @@ PACKAGE_COPYRIGHT="Copyright (C) 1993-2015"
 PACKAGE_LICENSE="GNU General Public License, version 2"
 PACKAGE_MAINTAINER="Simon Howard"
 PACKAGE_URL="http://www.chocolate-doom.org/"
+PACKAGE_ISSUES="https://github.com/chocolate-doom/chocolate-doom/issues"
 
 AC_CONFIG_AUX_DIR(autotools)
 
@@ -102,7 +103,15 @@ AC_SDL_MAIN_WORKAROUND([
     AC_CHECK_LIB(amd64, amd64_iopl)
 ])
 
-AC_CHECK_TOOL(WINDRES, windres, )
+case $host in
+  *cygwin* | *mingw* )
+    AC_CHECK_TOOL(WINDRES, windres, )
+    ;;
+  *)
+    WINDRES=
+    ;;
+esac
+
 AC_CHECK_TOOL(STRIP, strip, )
 
 AM_CONDITIONAL(HAVE_WINDRES, test "$WINDRES" != "")
@@ -142,6 +151,7 @@ AC_SUBST(PACKAGE_COPYRIGHT)
 AC_SUBST(PACKAGE_LICENSE)
 AC_SUBST(PACKAGE_MAINTAINER)
 AC_SUBST(PACKAGE_URL)
+AC_SUBST(PACKAGE_ISSUES)
 
 dnl Shut up the datarootdir warnings.
 AC_DEFUN([AC_DATAROOTDIR_CHECKED])
@@ -159,11 +169,14 @@ pkg/osx/Info.plist
 rpm.spec
 data/Makefile
 src/Makefile
+src/doom.appdata.xml
 src/doom.desktop
 src/doom-screensaver.desktop
 src/doom/Makefile
+src/heretic.appdata.xml
 src/heretic.desktop
 src/heretic/Makefile
+src/hexen.appdata.xml
 src/hexen.desktop
 src/hexen/Makefile
 src/resource.rc
@@ -171,6 +184,7 @@ src/setup-res.rc
 src/setup/Makefile
 src/setup/setup.desktop
 src/setup/setup-manifest.xml
+src/strife.appdata.xml
 src/strife.desktop
 src/strife/Makefile
 textscreen/Makefile
diff --git a/man/Makefile.am b/man/Makefile.am
index 32f275e..f93e8ed 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -1,4 +1,5 @@
 MANPAGE_GEN_FILES = environ.man           \
+                    iwad_paths.man        \
                     doom.template         \
                     heretic.template      \
                     hexen.template        \
diff --git a/man/doom.template b/man/doom.template
index b587d15..d478815 100644
--- a/man/doom.template
+++ b/man/doom.template
@@ -10,6 +10,8 @@ Chocolate Doom is a port of Id Software's 1993 game "Doom" that is designed
 to behave as similar to the original DOS version of Doom as is possible.
 .br
 @content
+.SH IWAD SEARCH PATHS
+ at include iwad_paths.man
 .SH ENVIRONMENT
 This section describes environment variables that control Chocolate Doom's
 behavior.
diff --git a/man/environ.man b/man/environ.man
index 171b25d..ef8de02 100644
--- a/man/environ.man
+++ b/man/environ.man
@@ -1,9 +1,6 @@
 .TP
 \fBDOOMWADDIR\fR, \fBDOOMWADPATH\fR
-These environment variables provide paths to search for Doom .WAD files when
-looking for a game IWAD file or a PWAD file specified with the `\-file' option.
-\fBDOOMWADDIR\fR specifies a single path in which to look for WAD files,
-while \fBDOOMWWADPATH\fR specifies a colon-separated list of paths to search.
+See the section, \fBIWAD SEARCH PATHS\fR above.
 .TP
 \fBPCSOUND_DRIVER\fR
 When running in PC speaker sound effect mode, this environment variable
diff --git a/man/heretic.template b/man/heretic.template
index e9afa96..8fe2e73 100644
--- a/man/heretic.template
+++ b/man/heretic.template
@@ -11,6 +11,8 @@ aims to behave as similar to the original DOS version of Heretic as
 possible.
 .br
 @content
+.SH IWAD SEARCH PATHS
+ at include iwad_paths.man
 .SH ENVIRONMENT
 This section describes environment variables that control Chocolate Heretic's
 behavior.
diff --git a/man/hexen.template b/man/hexen.template
index 4c0524a..f5619ad 100644
--- a/man/hexen.template
+++ b/man/hexen.template
@@ -11,6 +11,8 @@ aims to behave as similar to the original DOS version of Hexen as
 possible.
 .br
 @content
+.SH IWAD SEARCH PATHS
+ at include iwad_paths.man
 .SH ENVIRONMENT
 This section describes environment variables that control Chocolate Hexen's
 behavior.
diff --git a/man/iwad_paths.man b/man/iwad_paths.man
new file mode 100644
index 0000000..9805815
--- /dev/null
+++ b/man/iwad_paths.man
@@ -0,0 +1,48 @@
+To play, an IWAD file is needed. This is a large file containing all of the
+levels, graphics, sound effects, music and other material that make up the
+game. IWAD files are named according to the game; the standard names are:
+.TP
+\fBdoom.wad, doom1.wad, doom2.wad, tnt.wad, plutonia.wad\fR
+Doom, Doom II, Final Doom
+.TP
+\fBheretic.wad, heretic1.wad, hexen.wad, strife1.wad\fR
+Heretic, Hexen and Strife (commercial Doom engine games).
+.TP
+\fBhacx.wad, chex.wad\fR
+Hacx and Chex Quest - more obscure games based on the Doom engine.
+.TP
+\fBfreedm.wad, freedoom1.wad, freedoom2.wad\fR
+The Freedoom open content IWAD files.
+.LP
+The following directory paths are searched in order to find an IWAD:
+.TP
+\fBCurrent working directory\fR
+Any IWAD files found in the current working directory will be used in
+preference to IWADs found in any other directories.
+.TP
+\fBDOOMWADDIR\fR
+This environment variable can be set to contain a path to a single directory
+in which to look for IWAD files. This environment variable is supported by
+most Doom source ports.
+.TP
+\fBDOOMWADPATH\fR
+This environment variable, if set, can contain a colon-separated list of
+directories in which to look for IWAD files, or alternatively full paths to
+specific IWAD files.
+.TP
+\fB$HOME/.local/share/games/doom\fR
+Writeable directory in the user's home directory. The path can be overridden
+using the \fBXDG_DATA_HOME\fR environment variable (see the XDG Base Directory
+Specification).
+.TP
+\fB/usr/local/share/games/doom, /usr/share/games/doom\fR
+System-wide locations that can be accessed by all users. The path
+\fB/usr/share/games/doom\fR is a standard path that is supported by most
+Doom source ports. These paths can be overridden using the \fBXDG_DATA_DIRS\fR
+environment variable (see the XDG Base Directory Specification).
+.LP
+The above can be overridden on a one-time basis by using the \fB\-iwad\fR
+command line parameter to provide the path to an IWAD file to use. This
+parameter can also be used to specify the name of a particular IWAD to use
+from one of the above paths. For example, '\fB-iwad doom.wad\fR' will search
+the above paths for the file \fBdoom.wad\fR to use.
diff --git a/man/strife.template b/man/strife.template
index ddcc12f..3d5614c 100644
--- a/man/strife.template
+++ b/man/strife.template
@@ -13,6 +13,8 @@ of the original programmers of the game (see the section HISTORY below).
 
 @content
 
+.SH IWAD SEARCH PATHS
+ at include iwad_paths.man
 .SH ENVIRONMENT
 This section describes environment variables that control Chocolate Strife's
 behavior.
diff --git a/msvc/config.h b/msvc/config.h
index 8a4296b..e376ac1 100644
--- a/msvc/config.h
+++ b/msvc/config.h
@@ -11,19 +11,19 @@
 #define PACKAGE_NAME "Chocolate Doom"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "Chocolate Doom 2.2.0"
+#define PACKAGE_STRING "Chocolate Doom 2.2.1"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "chocolate-doom"
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "2.2.0"
+#define PACKAGE_VERSION "2.2.1"
 
 /* Change this when you create your awesome forked version */
 #define PROGRAM_PREFIX "chocolate-"
 
 /* Version number of package */
-#define VERSION "2.2.0"
+#define VERSION "2.2.1"
 
 /* Define to 1 if your processor stores words with the most significant byte
    first (like Motorola and SPARC, unlike Intel and VAX). */
diff --git a/msvc/doom.vcproj b/msvc/doom.vcproj
index 7f98d3a..7446ede 100644
--- a/msvc/doom.vcproj
+++ b/msvc/doom.vcproj
@@ -859,6 +859,10 @@
 					>
 				</File>
 				<File
+					RelativePath="..\src\doom\deh_bexstr.c"
+					>
+				</File>
+				<File
 					RelativePath="..\src\doom\deh_cheat.c"
 					>
 				</File>
diff --git a/msvc/heretic.vcproj b/msvc/heretic.vcproj
index 3b80ce3..b3e150c 100644
--- a/msvc/heretic.vcproj
+++ b/msvc/heretic.vcproj
@@ -469,10 +469,6 @@
 					>
 				</File>
 				<File
-					RelativePath="..\src\heretic\i_sound.c"
-					>
-				</File>
-				<File
 					RelativePath="..\src\heretic\in_lude.c"
 					>
 				</File>
diff --git a/msvc/hexen.vcproj b/msvc/hexen.vcproj
index 1b1e3b4..5c2d201 100644
--- a/msvc/hexen.vcproj
+++ b/msvc/hexen.vcproj
@@ -426,10 +426,6 @@
 					>
 				</File>
 				<File
-					RelativePath="..\src\hexen\i_sound.c"
-					>
-				</File>
-				<File
 					RelativePath="..\src\hexen\in_lude.c"
 					>
 				</File>
@@ -438,10 +434,6 @@
 					>
 				</File>
 				<File
-					RelativePath="..\src\hexen\m_misc.c"
-					>
-				</File>
-				<File
 					RelativePath="..\src\hexen\m_random.c"
 					>
 				</File>
diff --git a/msvc/win32.rc b/msvc/win32.rc
index fe0f840..171ddab 100644
--- a/msvc/win32.rc
+++ b/msvc/win32.rc
@@ -25,8 +25,8 @@
 #endif
 
 1 VERSIONINFO
-PRODUCTVERSION 2,2,0,0
-FILEVERSION 2,2,0,0
+PRODUCTVERSION 2,2,1,0
+FILEVERSION 2,2,1,0
 FILETYPE 1
 BEGIN
 	BLOCK "StringFileInfo"
@@ -34,12 +34,12 @@ BEGIN
 		BLOCK "040904E4"
 		BEGIN
 			VALUE "FileVersion", "1.0.0"
-			VALUE "FileDescription", "Chocolate Doom 2.2.0"
+			VALUE "FileDescription", "Chocolate Doom 2.2.1"
 			VALUE "InternalName", "chocolate-doom"
 			VALUE "CompanyName", "fraggle at gmail.com"
 			VALUE "LegalCopyright", "GNU General Public License"
 			VALUE "ProductName", "Chocolate Doom"
-			VALUE "ProductVersion", "2.2.0"
+			VALUE "ProductVersion", "2.2.1"
 		END
 	END
 	BLOCK "VarFileInfo"
diff --git a/pkg/osx/Info.plist.in b/pkg/osx/Info.plist.in
index 5ea4f32..a648ed8 100644
--- a/pkg/osx/Info.plist.in
+++ b/pkg/osx/Info.plist.in
@@ -2,6 +2,8 @@
 <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
+        <key>CFBundleIdentifier</key>
+        <string>org.chocolate-doom.launcher</string>
 	<key>CFBundleDevelopmentRegion</key>
 	<string>English</string>
 	<key>CFBundleDisplayName</key>
@@ -26,6 +28,10 @@
 	<string>NSApplication</string>
 	<key>NSMainNibFile</key>
 	<string>launcher</string>
+        <key>NSHumanReadableCopyright</key>
+        <string>Copyright (C) 1993-2015, id Software and Raven Software, Simon Howard, James Haley, Samuel Villarreal and other contributors.
+
+Licensed under the GNU GPL v2.</string>
 
         <!-- file associations: -->
 
diff --git a/src/.gitignore b/src/.gitignore
index a0cf15b..84a9eae 100644
--- a/src/.gitignore
+++ b/src/.gitignore
@@ -14,5 +14,6 @@ chocolate-strife-setup
 chocolate-setup
 *.exe
 *.desktop
+*.appdata.xml
 tags
 TAGS
diff --git a/src/Makefile.am b/src/Makefile.am
index 1e54824..78ee3ba 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -217,6 +217,25 @@ EXTRA_DIST =                        \
         doom-screensaver.desktop.in \
         manifest.xml
 
+appdatadir = $(prefix)/share/appdata
+appdata_DATA =                              \
+        @PROGRAM_PREFIX at doom.appdata.xml    \
+        @PROGRAM_PREFIX at heretic.appdata.xml \
+        @PROGRAM_PREFIX at hexen.appdata.xml   \
+        @PROGRAM_PREFIX at strife.appdata.xml
+
+ at PROGRAM_PREFIX@doom.appdata.xml : doom.appdata.xml
+	cp doom.appdata.xml $@
+
+ at PROGRAM_PREFIX@heretic.appdata.xml : heretic.appdata.xml
+	cp heretic.appdata.xml $@
+
+ at PROGRAM_PREFIX@hexen.appdata.xml : hexen.appdata.xml
+	cp hexen.appdata.xml $@
+
+ at PROGRAM_PREFIX@strife.appdata.xml : strife.appdata.xml
+	cp strife.appdata.xml $@
+
 appdir = $(prefix)/share/applications
 app_DATA =                                 \
            @PROGRAM_PREFIX at doom.desktop    \
diff --git a/src/d_iwad.c b/src/d_iwad.c
index 2d6460b..b413c01 100644
--- a/src/d_iwad.c
+++ b/src/d_iwad.c
@@ -142,22 +142,53 @@ static registry_value_t uninstall_values[] =
     },
 };
 
-// Value installed by the Collector's Edition when it is installed
+// Values installed by the GOG.com and Collector's Edition versions
 
-static registry_value_t collectors_edition_value =
+static registry_value_t root_path_keys[] =
 {
-    HKEY_LOCAL_MACHINE,
-    SOFTWARE_KEY "\\Activision\\DOOM Collector's Edition\\v1.0",
-    "INSTALLPATH",
+    // Doom Collector's Edition
+
+    {
+        HKEY_LOCAL_MACHINE,
+        SOFTWARE_KEY "\\Activision\\DOOM Collector's Edition\\v1.0",
+        "INSTALLPATH",
+    },
+
+    // Ultimate Doom
+
+    {
+        HKEY_LOCAL_MACHINE,
+        SOFTWARE_KEY "\\GOG.com\\Games\\1435827232",
+        "PATH",
+    },
+
+    // Doom II
+
+    {
+        HKEY_LOCAL_MACHINE,
+        SOFTWARE_KEY "\\GOG.com\\Games\\1435848814",
+        "PATH",
+    },
+
+    // Final Doom
+
+    {
+        HKEY_LOCAL_MACHINE,
+        SOFTWARE_KEY "\\GOG.com\\Games\\1435848742",
+        "PATH",
+    },
 };
 
 // Subdirectories of the above install path, where IWADs are installed.
 
-static char *collectors_edition_subdirs[] = 
+static char *root_path_subdirs[] =
 {
+    ".",
     "Doom2",
     "Final Doom",
     "Ultimate Doom",
+    "TNT",
+    "Plutonia",
 };
 
 // Location where Steam is installed
@@ -268,30 +299,34 @@ static void CheckUninstallStrings(void)
     }
 }
 
-// Check for Doom: Collector's Edition
+// Check for GOG.com and Doom: Collector's Edition
 
-static void CheckCollectorsEdition(void)
+static void CheckInstallRootPaths(void)
 {
-    char *install_path;
-    char *subpath;
     unsigned int i;
 
-    install_path = GetRegistryString(&collectors_edition_value);
-
-    if (install_path == NULL)
+    for (i=0; i<arrlen(root_path_keys); ++i)
     {
-        return;
-    }
+        char *install_path;
+        char *subpath;
+        unsigned int j;
 
-    for (i=0; i<arrlen(collectors_edition_subdirs); ++i)
-    {
-        subpath = M_StringJoin(install_path, DIR_SEPARATOR_S,
-                               collectors_edition_subdirs[i], NULL);
+        install_path = GetRegistryString(&root_path_keys[i]);
 
-        AddIWADDir(subpath);
-    }
+        if (install_path == NULL)
+        {
+            continue;
+        }
 
-    free(install_path);
+        for (j=0; j<arrlen(root_path_subdirs); ++j)
+        {
+            subpath = M_StringJoin(install_path, DIR_SEPARATOR_S,
+                                   root_path_subdirs[j], NULL);
+            AddIWADDir(subpath);
+        }
+
+        free(install_path);
+    }
 }
 
 
@@ -509,55 +544,96 @@ static GameMission_t IdentifyIWADByName(char *name, int mask)
     return mission;
 }
 
-//
-// Add directories from the list in the DOOMWADPATH environment variable.
-//
-
-static void AddDoomWadPath(void)
+// Add IWAD directories parsed from splitting a path string containing
+// paths separated by PATH_SEPARATOR. 'suffix' is a string to concatenate
+// to the end of the paths before adding them.
+static void AddIWADPath(char *path, char *suffix)
 {
-    char *doomwadpath;
-    char *p;
-
-    // Check the DOOMWADPATH environment variable.
-
-    doomwadpath = getenv("DOOMWADPATH");
-
-    if (doomwadpath == NULL)
-    {
-        return;
-    }
+    char *left, *p;
 
-    doomwadpath = M_StringDuplicate(doomwadpath);
-
-    // Add the initial directory
-
-    AddIWADDir(doomwadpath);
+    path = M_StringDuplicate(path);
 
     // Split into individual dirs within the list.
-
-    p = doomwadpath;
+    left = path;
 
     for (;;)
     {
-        p = strchr(p, PATH_SEPARATOR);
-
+        p = strchr(left, PATH_SEPARATOR);
         if (p != NULL)
         {
-            // Break at the separator and store the right hand side
+            // Break at the separator and use the left hand side
             // as another iwad dir
-  
             *p = '\0';
-            p += 1;
 
-            AddIWADDir(p);
+            AddIWADDir(M_StringJoin(left, suffix, NULL));
+            left = p + 1;
         }
         else
         {
             break;
         }
     }
+
+    AddIWADDir(M_StringJoin(left, suffix, NULL));
+
+    free(path);
 }
 
+// Add standard directories where IWADs are located on Unix systems.
+// To respect the freedesktop.org specification we support overriding
+// using standard environment variables. See the XDG Base Directory
+// Specification:
+// <http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html>
+static void AddXdgDirs(void)
+{
+    char *env, *tmp_env;
+
+    // Quote:
+    // > $XDG_DATA_HOME defines the base directory relative to which
+    // > user specific data files should be stored. If $XDG_DATA_HOME
+    // > is either not set or empty, a default equal to
+    // > $HOME/.local/share should be used.
+    env = getenv("XDG_DATA_HOME");
+    tmp_env = NULL;
+
+    if (env == NULL)
+    {
+        char *homedir = getenv("HOME");
+        if (homedir == NULL)
+        {
+            homedir = "/";
+        }
+
+        tmp_env = M_StringJoin(homedir, "/.local/share", NULL);
+        env = tmp_env;
+    }
+
+    // We support $XDG_DATA_HOME/games/doom (which will usually be
+    // ~/.local/share/games/doom) as a user-writeable extension to
+    // the usual /usr/share/games/doom location.
+    AddIWADDir(M_StringJoin(env, "/games/doom", NULL));
+    free(tmp_env);
+
+    // Quote:
+    // > $XDG_DATA_DIRS defines the preference-ordered set of base
+    // > directories to search for data files in addition to the
+    // > $XDG_DATA_HOME base directory. The directories in $XDG_DATA_DIRS
+    // > should be seperated with a colon ':'.
+    // >
+    // > If $XDG_DATA_DIRS is either not set or empty, a value equal to
+    // > /usr/local/share/:/usr/share/ should be used.
+    env = getenv("XDG_DATA_DIRS");
+    if (env == NULL)
+    {
+        // (Trailing / omitted from paths, as it is added below)
+        env = "/usr/local/share:/usr/share";
+    }
+
+    // The "standard" location for IWADs on Unix that is supported by most
+    // source ports is /usr/share/games/doom - we support this through the
+    // XDG_DATA_DIRS mechanism, through which it can be overridden.
+    AddIWADPath(env, "/games/doom");
+}
 
 //
 // Build a list of IWAD files
@@ -565,7 +641,7 @@ static void AddDoomWadPath(void)
 
 static void BuildIWADDirList(void)
 {
-    char *doomwaddir;
+    char *env;
 
     if (iwad_dirs_built)
     {
@@ -573,28 +649,28 @@ static void BuildIWADDirList(void)
     }
 
     // Look in the current directory.  Doom always does this.
-
     AddIWADDir(".");
 
     // Add DOOMWADDIR if it is in the environment
-
-    doomwaddir = getenv("DOOMWADDIR");
-
-    if (doomwaddir != NULL)
+    env = getenv("DOOMWADDIR");
+    if (env != NULL)
     {
-        AddIWADDir(doomwaddir);
-    }        
-
-    // Add dirs from DOOMWADPATH
+        AddIWADDir(env);
+    }
 
-    AddDoomWadPath();
+    // Add dirs from DOOMWADPATH:
+    env = getenv("DOOMWADPATH");
+    if (env != NULL)
+    {
+        AddIWADPath(env, "");
+    }
 
 #ifdef _WIN32
 
     // Search the registry and find where IWADs have been installed.
 
     CheckUninstallStrings();
-    CheckCollectorsEdition();
+    CheckInstallRootPaths();
     CheckSteamEdition();
     CheckDOSDefaults();
 
@@ -603,12 +679,7 @@ static void BuildIWADDirList(void)
     CheckSteamGUSPatches();
 
 #else
-
-    // Standard places where IWAD files are installed under Unix.
-
-    AddIWADDir("/usr/share/games/doom");
-    AddIWADDir("/usr/local/share/games/doom");
-
+    AddXdgDirs();
 #endif
 
     // Don't run this function again.
diff --git a/src/doom.appdata.xml.in b/src/doom.appdata.xml.in
new file mode 100644
index 0000000..1c3aa54
--- /dev/null
+++ b/src/doom.appdata.xml.in
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<component type="desktop">
+  <id>@PROGRAM_PREFIX at doom.desktop</id>
+  <metadata_license>CC0-1.0</metadata_license>
+  <project_license>GPL-2.0+</project_license>
+  <developer_name>@PACKAGE_MAINTAINER@</developer_name>
+  <url type="homepage">@PACKAGE_URL@</url>
+  <url type="bugtracker">@PACKAGE_ISSUES@</url>
+  <description>
+    <p>
+      @PACKAGE_SHORTNAME@ Doom is a conservative,
+      historically-accurate Doom source port, which is compatible with
+      the thousands of mods and levels that were made before the Doom
+      source code was released.  Unlike other source ports, the goal
+      is to preserve the original look, feel, limitations, and bugs of
+      the original DOS executable.
+    </p>
+    <p>
+      Full support for single- and multi-player games is provided, for
+      all of the original Doom games, Chex Quest, and Hacx.  Unlike
+      the original executable, network play is implemented on the IP
+      network stack, allowing it to function on modern LANs and the
+      Internet.
+    </p>
+  </description>
+  <screenshots>
+    <screenshot type="default">
+      <image>http://www.chocolate-doom.org/wiki/images/9/97/GNOME_FreeDM_DEMO4.png</image>
+      <caption>FreeDM, DM05: Metal</caption>
+    </screenshot>
+    <screenshot>
+      <image>http://www.chocolate-doom.org/wiki/images/a/a6/GNOME_Doom_II_DEMO2.png</image>
+      <caption>Doom II, Level 5: The Waste Tunnels</caption>
+    </screenshot>
+    <screenshot>
+      <image>http://www.chocolate-doom.org/wiki/images/4/41/GNOME_Doomsday_of_UAC.png</image>
+      <caption>Doomsday of UAC (uac_dead.wad)</caption>
+    </screenshot>
+    <screenshot>
+      <image>http://www.chocolate-doom.org/wiki/images/2/2a/GNOME_Freedoom_DTWID_DEMO3.png</image>
+      <caption>Doom the Way id Did, on Freedoom. Level 3-2: City of Corpses</caption>
+    </screenshot>
+  </screenshots>
+</component>
diff --git a/src/doom/g_game.c b/src/doom/g_game.c
index bc582a5..3001e03 100644
--- a/src/doom/g_game.c
+++ b/src/doom/g_game.c
@@ -1168,26 +1168,26 @@ G_CheckSpot
         fixed_t xa, ya;
         signed int an;
 
-        an = (ANG45 * ((signed int) mthing->angle / 45));
-        // Right-shifting a negative signed integer is implementation-defined,
-        // so divide instead.
-        an /= 1 << ANGLETOFINESHIFT;
+        // This calculation overflows in Vanilla Doom, but here we deliberately
+        // avoid integer overflow as it is undefined behavior, so the value of
+        // 'an' will always be positive.
+        an = (ANG45 >> ANGLETOFINESHIFT) * ((signed int) mthing->angle / 45);
 
         switch (an)
         {
-            case -4096:
+            case 4096:  // -4096:
                 xa = finetangent[2048];    // finecosine[-4096]
                 ya = finetangent[0];       // finesine[-4096]
                 break;
-            case -3072:
+            case 5120:  // -3072:
                 xa = finetangent[3072];    // finecosine[-3072]
                 ya = finetangent[1024];    // finesine[-3072]
                 break;
-            case -2048:
+            case 6144:  // -2048:
                 xa = finesine[0];          // finecosine[-2048]
                 ya = finetangent[2048];    // finesine[-2048]
                 break;
-            case -1024:
+            case 7168:  // -1024:
                 xa = finesine[1024];       // finecosine[-1024]
                 ya = finetangent[3072];    // finesine[-1024]
                 break;
@@ -1195,7 +1195,6 @@ G_CheckSpot
             case 1024:
             case 2048:
             case 3072:
-            case 4096:
                 xa = finecosine[an];
                 ya = finesine[an];
                 break;
diff --git a/src/doomtype.h b/src/doomtype.h
index 10820c1..bf0a40e 100644
--- a/src/doomtype.h
+++ b/src/doomtype.h
@@ -51,8 +51,14 @@
 //
 
 #ifdef __GNUC__
+
+#ifdef __clang__
 #define PACKEDATTR __attribute__((packed))
 #else
+#define PACKEDATTR __attribute__((packed,gcc_struct))
+#endif
+
+#else
 #define PACKEDATTR
 #endif
 
diff --git a/src/heretic.appdata.xml.in b/src/heretic.appdata.xml.in
new file mode 100644
index 0000000..dff8441
--- /dev/null
+++ b/src/heretic.appdata.xml.in
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<component type="desktop">
+  <id>@PROGRAM_PREFIX at heretic.desktop</id>
+  <metadata_license>CC0-1.0</metadata_license>
+  <project_license>GPL-2.0+</project_license>
+  <developer_name>@PACKAGE_MAINTAINER@</developer_name>
+  <url type="homepage">@PACKAGE_URL@</url>
+  <url type="bugtracker">@PACKAGE_ISSUES@</url>
+  <description>
+    <p>
+      @PACKAGE_SHORTNAME@ Heretic is a conservative,
+      historically-accurate Heretic source port, which is compatible
+      with mods and levels that were made before the Heretic source
+      code was released.  Unlike other source ports, the goal is to
+      preserve the original look, feel, limitations, and bugs of the
+      original DOS executable.
+    </p>
+    <p>
+      Full support for single- and multi-player games is provided.
+      Unlike the original executable, network play is implemented on
+      the IP network stack, allowing it to function on modern LANs and
+      the Internet.
+    </p>
+  </description>
+  <screenshots>
+    <screenshot type="default">
+      <image>http://www.chocolate-doom.org/wiki/images/9/93/GNOME_Heretic_E5M4.png</image>
+      <caption>Level E5M4: Courtyard</caption>
+    </screenshot>
+    <screenshot>
+      <image>http://www.chocolate-doom.org/wiki/images/1/14/GNOME_Heretic_Shareware_DEMO3.png</image>
+      <caption>Shareware Level E1M9: The Graveyard</caption>
+    </screenshot>
+    <screenshot>
+      <image>http://www.chocolate-doom.org/wiki/images/3/34/GNOME_Heretic_E4M1.png</image>
+      <caption>Level E4M1: Catafalque</caption>
+    </screenshot>
+    <screenshot>
+      <image>http://www.chocolate-doom.org/wiki/images/4/42/GNOME_Heretic_Shareware_DEMO1.png</image>
+      <caption>Shareware Level E1M3: The Gatehouse</caption>
+    </screenshot>
+  </screenshots>
+</component>
diff --git a/src/heretic/d_main.c b/src/heretic/d_main.c
index beb876c..6521aff 100644
--- a/src/heretic/d_main.c
+++ b/src/heretic/d_main.c
@@ -62,7 +62,6 @@ boolean respawnparm;            // checkparm of -respawn
 boolean debugmode;              // checkparm of -debug
 boolean ravpic;                 // checkparm of -ravpic
 boolean cdrom;                  // true if cd-rom mode active
-boolean singletics;             // debug flag to cancel adaptiveness
 boolean noartiskip;             // whether shift-enter skips an artifact
 
 skill_t startskill;
diff --git a/src/heretic/g_game.c b/src/heretic/g_game.c
index 1154925..6ad3860 100644
--- a/src/heretic/g_game.c
+++ b/src/heretic/g_game.c
@@ -102,7 +102,6 @@ player_t players[MAXPLAYERS];
 
 int consoleplayer;              // player taking events and displaying
 int displayplayer;              // view being displayed
-int gametic;
 int levelstarttic;              // gametic at level start
 int totalkills, totalitems, totalsecret;        // for intermission
 
diff --git a/src/hexen.appdata.xml.in b/src/hexen.appdata.xml.in
new file mode 100644
index 0000000..e7745be
--- /dev/null
+++ b/src/hexen.appdata.xml.in
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<component type="desktop">
+  <id>@PROGRAM_PREFIX at hexen.desktop</id>
+  <metadata_license>CC0-1.0</metadata_license>
+  <project_license>GPL-2.0+</project_license>
+  <developer_name>@PACKAGE_MAINTAINER@</developer_name>
+  <url type="homepage">@PACKAGE_URL@</url>
+  <url type="bugtracker">@PACKAGE_ISSUES@</url>
+  <description>
+    <p>
+      @PACKAGE_SHORTNAME@ Hexen is a conservative,
+      historically-accurate Hexen source port, which is compatible
+      with mods and levels that were made before the Hexen source code
+      was released.  Unlike other source ports, the goal is to
+      preserve the original look, feel, limitations, and bugs of the
+      original DOS executable.
+    </p>
+    <p>
+      Full support for single- and multi-player games is provided.
+      Unlike the original executable, network play is implemented on
+      the IP network stack, allowing it to function on modern LANs and
+      the Internet.
+    </p>
+  </description>
+  <screenshots>
+    <screenshot type="default">
+      <image>http://www.chocolate-doom.org/wiki/images/0/0f/GNOME_Hexen_Guardian_of_Fire.png</image>
+      <caption>Level "Guardian of Fire"</caption>
+    </screenshot>
+    <screenshot>
+      <image>http://www.chocolate-doom.org/wiki/images/5/5c/GNOME_Hexen_Effluvium.png</image>
+      <caption>Level "Effluvium"</caption>
+    </screenshot>
+    <screenshot>
+      <image>http://www.chocolate-doom.org/wiki/images/c/c1/GNOME_Hexen_Dragon_Chapel.png</image>
+      <caption>Level "Dragon Chapel"</caption>
+    </screenshot>
+    <screenshot>
+      <image>http://www.chocolate-doom.org/wiki/images/a/a7/GNOME_Hexen_Darkmere.png</image>
+      <caption>Level "Darkmere"</caption>
+    </screenshot>
+  </screenshots>
+</component>
diff --git a/src/hexen/g_game.c b/src/hexen/g_game.c
index e0a7afa..fd72d44 100644
--- a/src/hexen/g_game.c
+++ b/src/hexen/g_game.c
@@ -88,7 +88,6 @@ int RebornPosition;
 
 int consoleplayer;              // player taking events and displaying
 int displayplayer;              // view being displayed
-int gametic;
 int levelstarttic;              // gametic at level start
 
 char demoname[32];
diff --git a/src/hexen/h2_main.c b/src/hexen/h2_main.c
index 1e60c84..47c5e28 100644
--- a/src/hexen/h2_main.c
+++ b/src/hexen/h2_main.c
@@ -103,7 +103,6 @@ boolean debugmode;              // checkparm of -debug
 boolean ravpic;                 // checkparm of -ravpic
 boolean cdrom = false;          // true if cd-rom mode active
 boolean cmdfrag;                // true if a CMD_FRAG packet should be sent out
-boolean singletics;             // debug flag to cancel adaptiveness
 boolean artiskip;               // whether shift-enter skips an artifact
 int maxzone = 0x800000;         // Maximum allocated for zone heap (8meg default)
 skill_t startskill;
diff --git a/src/setup/multiplayer.c b/src/setup/multiplayer.c
index a36f4da..3fe6a82 100644
--- a/src/setup/multiplayer.c
+++ b/src/setup/multiplayer.c
@@ -37,6 +37,7 @@
 #define MULTI_START_HELP_URL "http://www.chocolate-doom.org/setup-multi-start"
 #define MULTI_JOIN_HELP_URL "http://www.chocolate-doom.org/setup-multi-join"
 #define MULTI_CONFIG_HELP_URL "http://www.chocolate-doom.org/setup-multi-config"
+#define LEVEL_WARP_HELP_URL "http://www.chocolate-doom.org/setup-level-warp"
 
 #define NUM_WADS 10
 #define NUM_EXTRA_PARAMS 10
@@ -715,9 +716,17 @@ static void StartGameMenu(char *window_title, int multiplayer)
     txt_widget_t *iwad_selector;
 
     window = TXT_NewWindow(window_title);
-    TXT_SetWindowHelpURL(window, MULTI_START_HELP_URL);
 
-    TXT_AddWidgets(window, 
+    if (multiplayer)
+    {
+        TXT_SetWindowHelpURL(window, MULTI_START_HELP_URL);
+    }
+    else
+    {
+        TXT_SetWindowHelpURL(window, LEVEL_WARP_HELP_URL);
+    }
+
+    TXT_AddWidgets(window,
                    gameopt_table = TXT_NewTable(2),
                    TXT_NewSeparator("Monster options"),
                    TXT_NewInvertedCheckBox("Monsters enabled", &nomonsters),
diff --git a/src/setup/setup-manifest.xml.in b/src/setup/setup-manifest.xml.in
index 7db56e8..111ad0f 100644
--- a/src/setup/setup-manifest.xml.in
+++ b/src/setup/setup-manifest.xml.in
@@ -32,6 +32,7 @@
       <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/> <!-- Vista -->
       <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/> <!-- 8 -->
       <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/> <!-- 8.1 -->
+      <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/> <!-- 10 -->
     </application>
   </compatibility>
 
diff --git a/src/setup/setup.desktop.in b/src/setup/setup.desktop.in
index 91decb4..2a5e71f 100644
--- a/src/setup/setup.desktop.in
+++ b/src/setup/setup.desktop.in
@@ -4,4 +4,5 @@ Exec=@PROGRAM_PREFIX at setup
 Icon=@PROGRAM_PREFIX at setup
 Type=Application
 Comment=Setup tool for @PACKAGE_SHORTNAME@
-Categories=Settings
+Categories=Settings;
+Keywords=first;person;shooter;doom;heretic;hexen;strife;vanilla;
diff --git a/src/strife.appdata.xml.in b/src/strife.appdata.xml.in
new file mode 100644
index 0000000..ff54553
--- /dev/null
+++ b/src/strife.appdata.xml.in
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<component type="desktop">
+  <id>@PROGRAM_PREFIX at strife.desktop</id>
+  <metadata_license>CC0-1.0</metadata_license>
+  <project_license>GPL-2.0+</project_license>
+  <developer_name>@PACKAGE_MAINTAINER@</developer_name>
+  <url type="homepage">@PACKAGE_URL@</url>
+  <url type="bugtracker">@PACKAGE_ISSUES@</url>
+  <description>
+    <p>
+      @PACKAGE_SHORTNAME@ Strife is a conservative,
+      historically-accurate recreation of the Strife engine.  It is
+      completely compatible with the original game and mods created
+      with the original engine in mind.  Made with a great reverse
+      engineering effort, it has the goal of preserving the original
+      look, feel, limitations, and bugs of the original DOS
+      executable.
+    </p>
+    <p>
+      Full support for single- and multi-player games is provided.
+      Unlike the original executable, network play is implemented on
+      the IP network stack, allowing it to function on modern LANs and
+      the Internet.
+    </p>
+  </description>
+  <screenshots>
+    <screenshot type="default">
+      <image>http://www.chocolate-doom.org/wiki/images/b/b2/GNOME_Strife_Rowan.png</image>
+      <caption>Talking to Rowan</caption>
+    </screenshot>
+    <screenshot>
+      <image>http://www.chocolate-doom.org/wiki/images/1/1f/GNOME_Strife_Town.png</image>
+      <caption>The Town</caption>
+    </screenshot>
+    <screenshot>
+      <image>http://www.chocolate-doom.org/wiki/images/8/8a/GNOME_Strife_Opening.png</image>
+      <caption>Opening Cinematic</caption>
+    </screenshot>
+    <screenshot>
+      <image>http://www.chocolate-doom.org/wiki/images/c/c4/GNOME_Strife_Sewage.png</image>
+      <caption>In the sewage</caption>
+    </screenshot>
+  </screenshots>
+</component>
diff --git a/src/strife/g_game.c b/src/strife/g_game.c
index 906d3c9..c12e856 100644
--- a/src/strife/g_game.c
+++ b/src/strife/g_game.c
@@ -124,7 +124,6 @@ boolean         turbodetected[MAXPLAYERS];
  
 int             consoleplayer;          // player taking events and displaying 
 int             displayplayer;          // view being displayed 
-int             gametic; 
 int             levelstarttic;          // gametic at level start 
 int             totalkills, /*totalitems,*/ totalsecret;    // for intermission 
  

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/chocolate-doom.git



More information about the Pkg-games-commits mailing list