/
dd_defns.h
68 lines (57 loc) · 1.91 KB
/
dd_defns.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#ifndef __DOOMSDAY_DEFINITIONS_H__
#define __DOOMSDAY_DEFINITIONS_H__
#include "dedfile.h"
#include "dd_dfdat.h"
typedef struct
{
int wall_texture;
int flat_lump;
int detail_lump;
unsigned int gltex;
} detailtex_t;
typedef struct sfxinfo_s
{
void *data; // Pointer to sound data.
int lumpnum;
char lumpname[9]; // Actual lump name of the sound (full name).
char id[32]; // Identifier name (from the def).
char name[32]; // Long name.
struct sfxinfo_s *link; // Link to another sound.
int link_pitch;
int link_volume;
int priority;
int channels; // Max. channels for the sound to occupy.
int usefulness; // Used to determine when to cache out.
int flags;
int group;
char external[256]; // Path to external file.
} sfxinfo_t;
extern ded_t defs; // The main definitions database.
extern sprname_t *sprnames; // Sprite name list.
extern state_t *states; // State list.
extern mobjinfo_t *mobjinfo; // Map object info database.
extern sfxinfo_t *sounds; // Sound effect list.
extern ddtext_t *texts; // Text list.
extern detailtex_t *details; // Detail texture mappings.
extern mobjinfo_t **stateowners;
extern ded_count_t count_sprnames;
extern ded_count_t count_states;
// From DD_Setup.c.
extern ded_mapinfo_t *mapinfo; // Current mapinfo, can be NULL.
void Def_Init(void);
// Destroy databases.
void Def_Destroy(void);
// Reads the specified definition file, and creates the sprite name,
// state, mobjinfo, sound, music and text databases accordingly.
void Def_Read(void);
void Def_PostInit(void);
int Def_GetStateNum(char *id);
int Def_GetSpriteNum(char *name);
int Def_GetMusicNum(char *id);
int Def_EvalFlags(char *ptr);
ded_mapinfo_t *Def_GetMapInfo(char *map_id);
ded_light_t *Def_GetLightDef(int spr, int frame);
ded_decor_t *Def_GetDecoration(int number, boolean is_texture, boolean has_ext);
int Def_Get(int type, char *id, void *out);
boolean Def_SameStateSequence(state_t *snew, state_t *sold);
#endif