view object.h @ 29:d2e627af7f61

fix.
author koba <koba@cr.ie.u-ryukyu.ac.jp>
date Tue, 28 Dec 2010 16:22:22 +0900
parents 435ac1cdb64e
children
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