summaryrefslogtreecommitdiff
path: root/src/d_iwad.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/d_iwad.h')
-rw-r--r--src/d_iwad.h30
1 files changed, 25 insertions, 5 deletions
diff --git a/src/d_iwad.h b/src/d_iwad.h
index cb101305..97eaf3eb 100644
--- a/src/d_iwad.h
+++ b/src/d_iwad.h
@@ -27,13 +27,33 @@
#ifndef __D_IWAD__
#define __D_IWAD__
+#include "d_mode.h"
+
+#define IWAD_MASK_DOOM ((1 << doom) \
+ | (1 << doom2) \
+ | (1 << pack_tnt) \
+ | (1 << pack_plut) \
+ | (1 << pack_chex) \
+ | (1 << pack_hacx))
+#define IWAD_MASK_HERETIC (1 << heretic)
+#define IWAD_MASK_HEXEN (1 << hexen)
+#define IWAD_MASK_STRIFE (1 << strife)
+
+typedef struct
+{
+ char *name;
+ GameMission_t mission;
+ GameMode_t mode;
+ char *description;
+} iwad_t;
+
char *D_FindWADByName(char *filename);
char *D_TryFindWADByName(char *filename);
-char *D_FindIWAD(void);
-void D_SetSaveGameDir(void);
-void D_IdentifyVersion(void);
-void D_SetGameDescription(void);
-void D_FindInstalledIWADs(void);
+char *D_FindIWAD(int mask, GameMission_t *mission);
+iwad_t **D_FindAllIWADs(int mask);
+char *D_SaveGameIWADName(GameMission_t gamemission);
+char *D_SuggestIWADName(GameMission_t mission, GameMode_t mode);
+char *D_SuggestGameName(GameMission_t mission, GameMode_t mode);
#endif