home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 1998 #5
/
AmigaPlus_CD-ROM_Nr.5-98.iso
/
pd
/
musik
/
playmf
/
fireworks
/
source
/
fireworks.h
< prev
next >
Wrap
C/C++ Source or Header
|
1998-04-03
|
3KB
|
163 lines
#ifndef FIREWORKS_H
#define FIREWORKS_H
/* Some defines */
#define FPS 25 /* nominal frames per seconds */
#define MIN_FPS 2 /* when FPS drops below, the */
/* watchdog timer intervenes */
#define NORMPRI -10 /* priority during normal operation */
#define HIGHPRI 10 /* priority in idle mode or when */
/* watchdog timer intervenes */
#define MAXCOORD 1024
#define CENTER_X 512 /* window width is 0...MAXCOORD */
#define CENTER_Y 980 /* window height is 0...MAXCOORD */
/* Library bases */
extern struct ExecBase *SysBase;
extern struct DosLibrary *DOSBase;
extern struct GfxBase *GfxBase;
extern struct Library *LayersBase;
extern struct IntuitionBase *IntuitionBase;
extern struct Library *GadToolsBase;
extern struct Library *UtilityBase;
extern struct Library *DatatypesBase;
extern struct Library *AslBase;
extern struct Library *WorkbenchBase;
extern struct Library *CamdBase;
extern struct Library *TimerBase;
extern BOOL FPBase; /* pseudo floating point base */
/* the main program's task */
extern struct Task *MyTask;
/* these flags serve for keeping track of asynchronous tasks */
typedef enum
{
AboutTask = 0x00000001, /* these are the asynchronous messages */
SaveTask = 0x00000002,
ErrTask = 0x00000004,
DropTask = 0x00000008,
LaunchTask = 0x00000010,
CloseTask = 0x00000020,
PlayTask = 0x00000100, /* these are the file requesters */
ImageTask = 0x00000200,
LinkTask = 0x00001000, /* the MIDI link requester */
ScreenTask = 0x00002000, /* the screenmode requester */
} TaskFlag;
/* Palette organisation */
enum
{
Backgroundpen,
Sparkpen,
Channelpens,
NUMPENS = Channelpens + 16
};
/* global preferences data */
struct Prefs
{
UBYTE Header[10];
UWORD Version;
UBYTE Link[32];
UWORD FWMode;
UWORD Sensitivity;
ULONG Flags;
UWORD WinX;
UWORD WinY;
UWORD WinW;
UWORD WinH;
UBYTE Image[240];
ULONG ScreenMode;
UWORD ScreenWidth;
UWORD ScreenHeight;
UWORD ScreenDepth;
ULONG OverscanType;
BOOL AutoScroll;
UBYTE MIDIFile[240];
};
#define PREFF_BACKDROP (1L<< 0)
#define PREFF_TILE (1L<< 1)
#define PREFF_FULLSCREEN (1L<< 2)
#define PREFF_DOUBLE (1L<< 3)
#define PREFF_SPARKS (1L<< 4)
#define PREFF_GM (1L<< 5)
#define PREFF_GS (1L<< 6)
#define PREFF_XG (1L<< 7)
#define PREFF_MT32 (1L<< 8)
#define PREFF_ASLHOOKS (1L<< 9)
#define PREFF_TIMESTAMP (1L<<10)
#define PREFF_HDTITLEBAR (1L<<11)
#define PREFF_HDMOUSEPTR (1L<<12)
/* all data structures and pointers needed by this program */
struct Globals
{
struct Screen *LockedScreen;
struct Screen *OpenedScreen;
struct Screen *Screen;
APTR VisualInfo;
struct Window *Window;
struct Menu *Menu;
struct Window *ProcWindow;
struct MsgPort *AppPort;
struct AppWindow *AppWindow;
struct timerequest *treq;
WORD ww, wh;
LONG PenArray[NUMPENS];
Object *dto;
struct BitMap *BGBitMap;
struct BitMap *PaintBitMap;
struct RastPort PaintRP;
struct Layer_Info *LInfo;
struct Layer *PaintLayer;
struct MidiNode *midi;
struct MidiLink *link;
UBYTE WTitle[80];
APTR NotePool;
BOOL GUIRefresh;
BOOL LinkRefresh;
struct FileRequester *ImageFR;
struct FileRequester *MIDIFR;
struct ScreenModeRequester *ScreenModeRQ;
ULONG TaskAlloc;
};
#endif /* FIREWORKS_H */