view object.h @ 7:972a7f233b23

g++ compile
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 07 Dec 2010 23:03:45 +0900
parents 01387a2e419e
children 6754fbb63ac7
line wrap: on
line source

#ifndef OBJECT_H
#define OBJECT_H


typedef float FVECTOR[4];
typedef float FMATRIX[4][4];

typedef struct width_height{
  short w;
  short h;
} WX;;

typedef struct surface {
  int size;
  char *name;
  char *parent_name;
  short w;
  short h;
  FVECTOR *data[4];
  FVECTOR xyz;
  FVECTOR angle;
  int *texture;         // pointer of this surface's texture
  char *image_name;
  struct surface *next;
  struct surface *child;
  struct surface *parent;
  struct surface *brother;
} SURFACE;

typedef struct object {
  FVECTOR xyz;              // position
  FVECTOR angle;            // angle
  FMATRIX transfer;         // transfer matrix
  char *name;               // object's name
  char *free_me;            // pointer for free myself
  SURFACE *surfaces;
} OBJECT;

void init_object(OBJECT *obj);
void free_object(OBJECT *obj);

extern    OBJECT *font;
extern    OBJECT *chara;
extern    OBJECT *effect;
extern    OBJECT *boss;

#endif