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.h24
1 files changed, 19 insertions, 5 deletions
diff --git a/src/d_iwad.h b/src/d_iwad.h
index cb101305..f95b4258 100644
--- a/src/d_iwad.h
+++ b/src/d_iwad.h
@@ -27,13 +27,27 @@
#ifndef __D_IWAD__
#define __D_IWAD__
+#include "d_mode.h"
+
+#define IWAD_MASK_DOOM ((1 << doom) \
+ | (1 << doom2) \
+ | (1 << pack_tnt) \
+ | (1 << pack_plut))
+#define IWAD_MASK_HERETIC (1 << heretic)
+#define IWAD_MASK_HEXEN (1 << hexen)
+
+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);
#endif