DZDrone.h

/*
 *  File:       DZDrone.h
 *
 *  Copyright © 1996 Apple Computer, Inc.
 */
 
#ifndef __DZDrone__
#define __DZDrone__
 
#include <Types.h>
#include <QD3D.h>
 
typedef struct TDroneData* TDroneObject;
 
void Drone_Init(
    void);
 
void Drone_Exit(
    void);
 
TDroneObject SelfDrone_New(
    void);
 
TDroneObject AutoDrone_New(
    TDroneObject            inDroneOfInterest);
 
TDroneObject BulletDrone_New(
    const TQ3Point3D*       inPosition,
    const TQ3Vector3D*      inDirection);
 
void Drone_Dispose(
    TDroneObject            inDrone);
 
TDroneObject Drone_Next(
    TDroneObject            inDrone);
 
void Drone_Move(
    TDroneObject            inDrone);
 
void Drone_UpdateSound(
    TDroneObject            inDrone);
 
void Drone_Submit(
    TDroneObject            inDrone,
    Boolean                 inHUDVisible,
    TQ3ViewObject           inView);
 
void Drone_SetMark(
    TDroneObject            inDrone,
    Boolean                 inMark);
 
Boolean Drone_GetMark(
    TDroneObject            inDrone);
 
void Drone_GetPosition(
    TDroneObject            inDrone,
    TQ3Point3D*             outPosition);
 
void Drone_GetVelocity(
    TDroneObject            inDrone,
    TQ3Vector3D*            outVelocity);
 
void Drone_GetDirection(
    TDroneObject            inDrone,
    TQ3Vector3D*            outDirection);
 
void Drone_GetUp(
    TDroneObject            inDrone,
    TQ3Vector3D*            outUp);
 
void Drone_GetMatrix(
    TDroneObject            inDrone,
    TQ3Matrix4x4*           outMatrix);
 
void Drone_Fire(
    TDroneObject            inDrone);
 
void Drone_Silence(
    TDroneObject            inDrone);
 
void SelfDrone_Pitch(
    TDroneObject            inDrone,
    float                   inPitchAngle);
 
void SelfDrone_Yaw(
    TDroneObject            inDrone,
    float                   inYawAngle);
    
void SelfDrone_Roll(
    TDroneObject            inDrone,
    float                   inRollAngle);
 
void SelfDrone_Thrust(
    TDroneObject            inDrone,
    float                   inThrust);
 
void SelfDrone_DampVelocity(
    TDroneObject            inDrone,
    float                   inDampingPercentage);
 
void SelfDrone_InstantStop(
    TDroneObject            inDrone);
 
#endif /* __DZDrone__ */