annotate object.h @ 32:8abcc221bbac

sgoex separation
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 21 May 2011 15:15:26 +0900
parents 6754fbb63ac7
children 3b92a4b17049
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
972a7f233b23 g++ compile
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
1 #ifndef OBJECT_H
972a7f233b23 g++ compile
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
2 #define OBJECT_H
972a7f233b23 g++ compile
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
3
972a7f233b23 g++ compile
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
4
0
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 typedef float FVECTOR[4];
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 typedef float FMATRIX[4][4];
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 typedef struct width_height{
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 short w;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 short h;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 } WX;;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 typedef struct surface {
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 int size;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 char *name;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 char *parent_name;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 short w;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 short h;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 FVECTOR *data[4];
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 FVECTOR xyz;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 FVECTOR angle;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 int *texture; // pointer of this surface's texture
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 char *image_name;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 struct surface *next;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 struct surface *child;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 struct surface *parent;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 struct surface *brother;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 } SURFACE;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 typedef struct object {
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 FVECTOR xyz; // position
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 FVECTOR angle; // angle
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 FMATRIX transfer; // transfer matrix
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 char *name; // object's name
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 SURFACE *surfaces;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 } OBJECT;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
37
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 void init_object(OBJECT *obj);
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 void free_object(OBJECT *obj);
7
972a7f233b23 g++ compile
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
40
972a7f233b23 g++ compile
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
41 extern OBJECT *font;
972a7f233b23 g++ compile
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
42 extern OBJECT *chara;
972a7f233b23 g++ compile
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
43 extern OBJECT *effect;
972a7f233b23 g++ compile
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
44 extern OBJECT *boss;
972a7f233b23 g++ compile
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
45
972a7f233b23 g++ compile
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
46 #endif