|
|
3f9996 |
#ifndef HELI_SPRITE_H
|
|
|
3f9996 |
#define HELI_SPRITE_H
|
|
|
3f9996 |
|
|
|
3f9996 |
|
|
|
3f9996 |
#include "common.h"
|
|
|
3f9996 |
|
|
|
3f9996 |
typedef struct _Sprite *Sprite;
|
|
|
8935bc |
typedef struct _Animation *Animation;
|
|
|
3f9996 |
|
|
|
3f9996 |
|
|
|
3f9996 |
typedef enum _Collider {
|
|
|
3f9996 |
COLLIDER_RECTANGLE,
|
|
|
3f9996 |
COLLIDER_CIRCLE
|
|
|
3f9996 |
} Collider;
|
|
|
3f9996 |
|
|
|
8935bc |
|
|
|
8935bc |
Animation createAnimation(const char *path);
|
|
|
8935bc |
void animationDestroy();
|
|
|
8935bc |
|
|
|
8935bc |
|
|
|
3f9996 |
Sprite createSprite(double x, double y);
|
|
|
3f9996 |
Sprite createSpriteEx(double x, double y, double width, double height);
|
|
|
3f9996 |
|
|
|
3f9996 |
void spriteDestroy(Sprite sprite);
|
|
|
8535a3 |
void spriteDestroyTimer(Sprite sprite, double lifetime);
|
|
|
3f9996 |
|
|
|
3f9996 |
double spriteGetX(Sprite sprite);
|
|
|
3f9996 |
void spriteSetX(Sprite sprite, double x);
|
|
|
3f9996 |
|
|
|
3f9996 |
double spriteGetY(Sprite sprite);
|
|
|
3f9996 |
void spriteSetY(Sprite sprite, double y);
|
|
|
3f9996 |
|
|
|
3f9996 |
double spriteGetVelocityX(Sprite sprite);
|
|
|
3f9996 |
void spriteSetVelocityX(Sprite sprite, double x);
|
|
|
3f9996 |
|
|
|
3f9996 |
double spriteGetVelocityY(Sprite sprite);
|
|
|
3f9996 |
void spriteSetVelocityY(Sprite sprite, double y);
|
|
|
3f9996 |
|
|
|
3f9996 |
double spriteGetScale(Sprite sprite);
|
|
|
3f9996 |
void spriteSetScale(Sprite sprite, double scale);
|
|
|
3f9996 |
|
|
|
3f9996 |
double spriteGetWidth(Sprite sprite);
|
|
|
3f9996 |
void spriteSetWidth(Sprite sprite, double width);
|
|
|
3f9996 |
|
|
|
3f9996 |
double spriteGetHeight(Sprite sprite);
|
|
|
3f9996 |
void spriteSetHeight(Sprite sprite, double height);
|
|
|
3f9996 |
|
|
|
3f9996 |
int spriteGetRotateToDirection(Sprite sprite);
|
|
|
3f9996 |
void spriteSetRotateToDirection(Sprite sprite, int rotateToDirection);
|
|
|
3f9996 |
|
|
|
3f9996 |
double spriteGetRotation(Sprite sprite);
|
|
|
3f9996 |
void spriteSetRotation(Sprite sprite, double rotation);
|
|
|
3f9996 |
|
|
|
3f9996 |
double spriteGetRotationSpeed(Sprite sprite);
|
|
|
3f9996 |
void spriteSetRotationSpeed(Sprite sprite, double rotationSpeed);
|
|
|
3f9996 |
|
|
|
3f9996 |
int spriteGetMirrorX(Sprite sprite);
|
|
|
3f9996 |
void spriteSetMirrorX(Sprite sprite, int mirrorX);
|
|
|
3f9996 |
|
|
|
3f9996 |
int spriteGetMirrorY(Sprite sprite);
|
|
|
3f9996 |
void spriteSetMirrorY(Sprite sprite, int mirrorY);
|
|
|
3f9996 |
|
|
|
3f9996 |
double spriteGetDepth(Sprite sprite);
|
|
|
3f9996 |
void spriteSetDepth(Sprite sprite, double depth);
|
|
|
3f9996 |
|
|
|
8535a3 |
int spriteGetVisible(Sprite sprite);
|
|
|
8535a3 |
void spriteSetVisible(Sprite sprite, int visible);
|
|
|
3f9996 |
|
|
|
8935bc |
int spriteGetTag(Sprite sprite);
|
|
|
8935bc |
void spriteSetTag(Sprite sprite, int tag);
|
|
|
8935bc |
|
|
|
3f9996 |
int spriteGetDebug(Sprite sprite);
|
|
|
3f9996 |
void spriteSetDebug(Sprite sprite, int debug);
|
|
|
3f9996 |
|
|
|
8535a3 |
int spriteOverlap(Sprite a, Sprite b);
|
|
|
8535a3 |
int spriteCollide(Sprite a, Sprite b, double bounciness);
|
|
|
8535a3 |
int spriteBounceOff(Sprite sprite, Sprite other, double bounciness);
|
|
|
8535a3 |
int spritePush(Sprite sprite, Sprite other, double bounciness);
|
|
|
8535a3 |
int spriteCollideEx(Sprite a, Sprite b, int keepVelocityA, int keepVelocityB, double bounciness);
|
|
|
3f9996 |
|
|
|
3f9996 |
double spriteGetBounciness(Sprite sprite);
|
|
|
3f9996 |
void spriteSetBounciness(Sprite sprite, double bounciness);
|
|
|
3f9996 |
|
|
|
3f9996 |
void spriteSetCollider(Sprite sprite, Collider type, double xOffset, double yOffset);
|
|
|
3f9996 |
void spriteSetColliderEx(Sprite sprite, Collider type, double xOffset, double yOffset,
|
|
|
3f9996 |
double widthOrRadius, double height, double rotationOffset);
|
|
|
3f9996 |
|
|
|
8935bc |
void spriteSetAnimation(Sprite sprite, Animation animation);
|
|
|
8935bc |
void spriteSetNoAnimation(Sprite sprite);
|
|
|
8935bc |
void spriteSetAnimationPath(Sprite sprite, const char *path);
|
|
|
8935bc |
Animation spriteGetAnimation(Sprite sprite);
|
|
|
8935bc |
|
|
|
3f9996 |
void spritePlay(Sprite sprite);
|
|
|
3f9996 |
void spritePause(Sprite sprite);
|
|
|
3f9996 |
void spriteNextFrame(Sprite sprite);
|
|
|
3f9996 |
void spriteSetFrame(Sprite sprite, int frame);
|
|
|
8535a3 |
void spriteSetShapeColor(Sprite sprite, const char *color);
|
|
|
8535a3 |
void spriteSetTintColor(Sprite sprite, const char *color);
|
|
|
3f9996 |
|
|
|
3f9996 |
void spriteSetVelocityXY(Sprite sprite, double x, double y);
|
|
|
3f9996 |
void spriteSetSpeedAndDirection(Sprite sprite, double speed, double angle);
|
|
|
3f9996 |
double spriteGetSpeed(Sprite sprite);
|
|
|
3f9996 |
double spriteGetDirection(Sprite sprite);
|
|
|
3f9996 |
void spritePointTo(Sprite sprite, double x, double y);
|
|
|
3f9996 |
|
|
|
3f9996 |
double spriteGetScaledWidth(Sprite sprite);
|
|
|
3f9996 |
double spriteGetScaledHeight(Sprite sprite);
|
|
|
3f9996 |
|
|
|
3f9996 |
|
|
|
3f9996 |
#endif
|