1 #ifndef __WL_GAME_H__
2 #define __WL_GAME_H__
3 
4 #include "textures/textures.h"
5 
6 /*
7 =============================================================================
8 
9 						WL_GAME DEFINITIONS
10 
11 =============================================================================
12 */
13 
14 //---------------
15 //
16 // gamestate structure
17 //
18 //---------------
19 
20 extern struct gametype
21 {
22 	char		mapname[9];
23 	const class SkillInfo *difficulty;
24 	const class ClassDef *playerClass;
25 
26 	FTextureID  faceframe;
27 
28 	short       secretcount,treasurecount,killcount,
29 				secrettotal,treasuretotal,killtotal;
30 	int32_t     TimeCount;
31 	bool        victoryflag;            // set during victory animations
32 	bool		fullmap;
33 } gamestate;
34 
35 extern  char            demoname[13];
36 
37 void    SetupGameLevel (void);
38 bool    GameLoop (void);
39 void    DrawPlayScreen (bool noborder=false);
40 void    DrawPlayBorderSides (void);
41 
42 void    PlayDemo (int demonumber);
43 void    RecordDemo (void);
44 
45 enum
46 {
47 	NEWMAP_KEEPFACING = 1,
48 	NEWMAP_KEEPPOSITION = 2
49 };
50 extern struct NewMap_t
51 {
52 	fixed x;
53 	fixed y;
54 	angle_t angle;
55 	int newmap;
56 	int flags;
57 } NewMap;
58 
59 #define ClearMemory SD_StopDigitized
60 
61 
62 // JAB
63 #define PlaySoundLocMapSpot(s,spot)     PlaySoundLocGlobal(s,(((int32_t)spot->GetX() << TILESHIFT) + (1L << (TILESHIFT - 1))),(((int32_t)spot->GetY() << TILESHIFT) + (1L << (TILESHIFT - 1))),SD_GENERIC)
64 #define PlaySoundLocTile(s,tx,ty)       PlaySoundLocGlobal(s,(((int32_t)(tx) << TILESHIFT) + (1L << (TILESHIFT - 1))),(((int32_t)ty << TILESHIFT) + (1L << (TILESHIFT - 1))),SD_GENERIC)
65 #define PlaySoundLocActor(s,ob)         PlaySoundLocGlobal(s,(ob)->x,(ob)->y,SD_GENERIC)
66 #define PlaySoundLocActorBoss(s,ob)     PlaySoundLocGlobal(s,(ob)->x,(ob)->y,SD_BOSSWEAPONS)
67 void    PlaySoundLocGlobal(const char* s,fixed gx,fixed gy,int chan);
68 void UpdateSoundLoc(void);
69 
70 #endif
71