qzdoom-gpl/tools/dehsupp/dehsupp.h
Randy Heit 3237c6b4e8 - Changed MIDI playback to not bother playing super short songs that don't
contain enough music to fill the initial output buffers.
- Removed the read barrier around ADehackedPickup::RealPickup. If the real
  pickup is picked up, it may very well destroy itself before the dehacked
  wrapper's stubs that use it are called.
- Reverted revision 840. For a file we don't want end users to be touching,
  making DEHSUPP plain text sends out mixed messages: "Don't mess with this.
  Oh, by the way, it's plain text now to make it easier for you to edit."
  Is there some reason other than a desire to do away with binary lumps to
  make the distributed lump text?
- Added a new speakermode for Stereo + HRTF: "Headphones". This is the only
  way to get the HRTF low pass filter effect now.
- Fixed: No more than one sector could make noise at once.
- Trying out sound without varying priorities again. 
- Fixed: Need to use setSpeakerMix to let 2D sounds (aka streamed music) use
  their full volume range.


SVN r842 (trunk)
2008-03-23 05:24:40 +00:00

124 lines
2.6 KiB
C

#include <stdio.h>
#include "parse.h"
typedef enum { false, true } bool;
typedef short name;
typedef unsigned char uchar;
typedef unsigned int uint;
typedef struct Scanner {
FILE *fd;
uchar *bot, *tok, *ptr, *cur, *pos, *lim, *top, *eof;
uint line;
} Scanner;
struct Token
{
int val;
char *string;
};
int lex(Scanner *s, struct Token *tok);
int yyerror (char *s);
void yyparse (void);
extern FILE *Source, *Dest;
extern int SourceLine;
extern int ErrorCount;
void WriteWord (int word);
void WriteLabel (char *label);
void WriteWords (int count, short *array);
void WriteBytes (int count, unsigned char *array);
void WriteNameTable ();
void WriteActions ();
void WriteActionMap ();
void WriteHeights ();
void WriteCodePConv ();
void WriteSprites ();
void WriteStates ();
void WriteSounds ();
void WriteInfoNames ();
void WriteThingBits ();
void WriteRenderStyles ();
struct StringList
{
struct StringList *Next;
char String[1];
};
struct StringSorter
{
name OldName;
struct StringList *Entry;
};
extern struct StringList *NameList, **NameListLast;
extern int NameCount;
name AddName (char *name);
name FindName (char *name);
void SortNames ();
struct StateMapE
{
name Name;
unsigned char State;
unsigned char Count;
};
struct ThingBitsE
{
name Name;
unsigned char BitNum;
unsigned char FlagNum;
};
struct RenderStylesE
{
name Name;
unsigned char StyleNum;
};
void AddAction (char *name);
int FindAction (char *name);
extern name *ActionsList;
extern unsigned char *HeightsArray;
extern unsigned char *ActionMap;
extern unsigned short *CodePMap;
extern char *SpriteNames;
extern struct StateMapE *StateMaps;
extern name *SoundMaps;
extern name *InfoNamesArray;
extern struct ThingBitsE *ThingBitsMap;
extern struct RenderStylesE *RenderStylesMap;
extern int ActionsListSize, MaxActionsListSize;
extern int HeightsSize, MaxHeightsSize;
extern int ActionMapSize, MaxActionMapSize;
extern int CodePMapSize, MaxCodePMapSize;
extern int SpriteNamesSize, MaxSpriteNamesSize;
extern int StateMapsSize, MaxStateMapsSize;
extern int SoundMapsSize, MaxSoundMapsSize;
extern int InfoNamesSize, MaxInfoNamesSize;
extern int ThingBitsMapSize, MaxThingBitsMapSize;
extern int RenderStylesSize, MaxRenderStylesSize;
void AddHeight (int h);
void AddActionMap (char *name);
void AddCodeP (int codep);
void AddSpriteName (char *name);
void AddStateMap (char *name, int type, int count);
void AddSoundMap (char *sound);
void AddInfoName (char *sound);
void AddThingBits (char *name, int bitnum, int flagnum);
void AddRenderStyle (char *name, int stylenum);