From f062903b4a2559ac530d477921b410cadf1488f7 Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Fri, 28 Nov 2008 22:54:33 +0000 Subject: Add function to get the number of episodes. Subversion-branch: /branches/raven-branch Subversion-revision: 1392 --- src/d_mode.c | 23 +++++++++++++++++++++-- src/d_mode.h | 5 +++-- src/setup-res.rc.in | 2 +- 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/src/d_mode.c b/src/d_mode.c index 435ce8d5..70704438 100644 --- a/src/d_mode.c +++ b/src/d_mode.c @@ -18,9 +18,12 @@ // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA // 02111-1307, USA. // -// Common code shared between the client and server +//----------------------------------------------------------------------------- +// +// DESCRIPTION: +// Functions and definitions relating to the game type and operational +// mode. // - #include "doomtype.h" #include "d_mode.h" @@ -100,6 +103,22 @@ boolean D_ValidEpisodeMap(GameMission_t mission, GameMode_t mode, return false; } +// Get the number of valid episodes for the specified mission/mode. + +int D_GetNumEpisodes(GameMission_t mission, GameMode_t mode) +{ + int episode; + + episode = 1; + + while (D_ValidEpisodeMap(mission, mode, episode, 1)) + { + ++episode; + } + + return episode - 1; +} + // Table of valid versions static struct { diff --git a/src/d_mode.h b/src/d_mode.h index 360ac2c1..305d4dd6 100644 --- a/src/d_mode.h +++ b/src/d_mode.h @@ -20,8 +20,8 @@ // 02111-1307, USA. // // DESCRIPTION: -// Internally used data structures for virtually everything, -// lots of other stuff. +// Functions and definitions relating to the game type and operational +// mode. // //----------------------------------------------------------------------------- @@ -87,6 +87,7 @@ boolean D_ValidGameMode(GameMission_t mission, GameMode_t mode); boolean D_ValidGameVersion(GameMission_t mission, GameVersion_t version); boolean D_ValidEpisodeMap(GameMission_t mission, GameMode_t mode, int episode, int map); +int D_GetNumEpisodes(GameMission_t mission, GameMode_t mode); #endif /* #ifndef __D_MODE__ */ diff --git a/src/setup-res.rc.in b/src/setup-res.rc.in index dc25135a..0b714122 100644 --- a/src/setup-res.rc.in +++ b/src/setup-res.rc.in @@ -1,6 +1,6 @@ 1 ICON "../data/setup.ico" -CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "setup-manifest.xml" +CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "setup/setup-manifest.xml" 1 VERSIONINFO PRODUCTVERSION @WINDOWS_RC_VERSION@ -- cgit v1.2.3