|
|
3f9996 |
|
|
|
3f9996 |
#include <assert.h></assert.h>
|
|
|
3f9996 |
#include <string.h></string.h>
|
|
|
3f9996 |
#include <stdlib.h></stdlib.h>
|
|
|
3f9996 |
#include <ctype.h></ctype.h>
|
|
|
3f9996 |
#include <math.h></math.h>
|
|
|
3f9996 |
|
|
|
3f9996 |
#include "common.h"
|
|
|
3f9996 |
#include "sprite.h"
|
|
|
3f9996 |
|
|
|
3f9996 |
|
|
|
3f9996 |
// sprite
|
|
|
3f9996 |
|
|
|
3f9996 |
void heliUpdateSprites();
|
|
|
3f9996 |
|
|
|
3f9996 |
|
|
|
3f9996 |
// string
|
|
|
3f9996 |
|
|
|
3f9996 |
char* heliStringCopy(char *x);
|
|
|
3f9996 |
void heliLowercase(char *x);
|
|
|
3f9996 |
|
|
|
3f9996 |
|
|
|
3f9996 |
// pointer array
|
|
|
3f9996 |
|
|
|
3f9996 |
typedef struct _HeliArray {
|
|
|
3f9996 |
void **items;
|
|
|
3f9996 |
int count;
|
|
|
3f9996 |
int allocated;
|
|
|
3f9996 |
} HeliArray;
|
|
|
3f9996 |
|
|
|
3f9996 |
int heliArrayInit(HeliArray *a);
|
|
|
3f9996 |
void heliArrayClear(HeliArray *a, int freeData);
|
|
|
3f9996 |
int heliArrayDestroy(HeliArray *a, int freeData);
|
|
|
3f9996 |
void* heliArrayGet(HeliArray *a, int i);
|
|
|
3f9996 |
void heliArrayInsert(HeliArray *a, int i, void *item);
|
|
|
3f9996 |
void heliArrayAppend(HeliArray *a, void *item);
|
|
|
3f9996 |
void heliArrayRemove(HeliArray *a, int i, int freeData);
|
|
|
3f9996 |
|
|
|
3f9996 |
int heliStringsetFind(HeliArray *a, char *x, int *gtOrEqIndex);
|
|
|
3f9996 |
int heliStringsetGet(HeliArray *a, char *x);
|
|
|
3f9996 |
void heliStringsetAdd(HeliArray *a, char *x);
|
|
|
3f9996 |
void heliStringsetRemove(HeliArray *a, char *x);
|
|
|
3f9996 |
|
|
|
3f9996 |
|
|
|
3f9996 |
// collider
|
|
|
3f9996 |
|
|
|
3f9996 |
typedef struct _HeliCollider {
|
|
|
3f9996 |
Collider type;
|
|
|
3f9996 |
double x;
|
|
|
3f9996 |
double y;
|
|
|
3f9996 |
double radius;
|
|
|
3f9996 |
double width;
|
|
|
3f9996 |
double height;
|
|
|
3f9996 |
double rotation;
|
|
|
3f9996 |
} HeliCollider;
|
|
|
3f9996 |
|
|
|
3f9996 |
int heliCheckCollision(HeliCollider *a, HeliCollider *b, double *normX, double *normY);
|
|
|
3f9996 |
int heliPointCollision(HeliCollider *c, double x, double y);
|
|
|
3f9996 |
|