/*******************************************************************************
 *
 * (c) Copyright 1993 Commodore-Amiga, Inc.  All rights reserved.
 *
 * This software is provided as-is and is subject to change; no warranties
 * are made.  All use is at your own risk.  No liability or responsibility
 * is assumed.
 *
 * stick.h - header for the joystick, and defines a structure to pass around
 *           the input-handling functions.
 *
 ******************************************************************************/

#include <exec/types.h>

struct JoyStick
{
    BYTE joy_Up;
    BYTE joy_Down;
    BYTE joy_Left;
    BYTE joy_Right;
    BYTE joy_Fire;
    BYTE joy_Click;
    BYTE joy_OldClick;
    BYTE joy_Exit;
};

#define LEFT 1
#define RIGHT 2
#define UP 4
#define DOWN 8
#define FIRE 16
#define CLICK 32
#define EXIT 64

struct InputAudio
{
    struct RawAudio *RawAudio;
    struct IOAudio *AudioIO;
    struct MsgPort *AudioMP;
    UBYTE *AudioBuffer;
    BOOL Playing;
    ULONG Unit;
    UWORD Period;
    WORD AllocKey;
};

/* Pass this structure to the input handler */
struct Input
{
    struct JoyStick *Stick;
    struct IEPointerPixel *NewPixel;
    struct IOStdReq *InputIO;
    struct InputEvent *FakeEvent;
    struct Screen *Screen;
    struct VistaScript *Vista;
    struct Missile *Missiles;
    struct ExtSprites *Sprites;
    ULONG *BugOut;
    struct InputAudio FireAudio;
};
