annotate field.cc @ 126:030394675d8e

succes compile
author e085768
date Thu, 30 Jun 2011 21:48:38 +0900
parents 6ef3b0efdeaf
children d9e3137e70a0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
1 #include <stdio.h>
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
2 #include <stdlib.h>
90
8edae89a3877 compile on Mac OS X
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 88
diff changeset
3 #include <stdbool.h>
91
cb6c6de125dc halfway
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 90
diff changeset
4 #include <string.h>
cb6c6de125dc halfway
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 90
diff changeset
5 #include "libps2.h"
cb6c6de125dc halfway
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 90
diff changeset
6 #include "ps2util.h"
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
7 #include "mytype.h"
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
8 #include "field.h"
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
9 #include "car.h"
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
10 #include "quotanion.h"
90
8edae89a3877 compile on Mac OS X
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 88
diff changeset
11 #include <stdbool.h>
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
12
126
030394675d8e succes compile
e085768
parents: 124
diff changeset
13 #include "Application.h"
030394675d8e succes compile
e085768
parents: 124
diff changeset
14
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
15 #define BUFSIZE 256
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
16
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
17 /* --- main.c --- */
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
18 extern FILE *main_fp;
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
19
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
20 static int field_num_max = 0;
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
21 static int field_num = 1;
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
22
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
23 static FieldPtr field_list;
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
24 static FieldPtr field_actual;
91
cb6c6de125dc halfway
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 90
diff changeset
25
126
030394675d8e succes compile
e085768
parents: 124
diff changeset
26 extern Viewer *droot;
030394675d8e succes compile
e085768
parents: 124
diff changeset
27
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
28 // 適当に自作:miya
124
e085768
parents: 118
diff changeset
29 PolygonInfo* xml_read_file(char *colImg)
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
30 {
124
e085768
parents: 118
diff changeset
31 PolygonInfo* test;
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
32 printf("xml_read_file");
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
33
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
34 return test;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
35 }
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
36
124
e085768
parents: 118
diff changeset
37
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
38 static FieldPtr
124
e085768
parents: 118
diff changeset
39 field_create(char *fieldImg, char *colImg )// OBJECT *tex)
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
40 {
124
e085768
parents: 118
diff changeset
41 FieldPtr self;
e085768
parents: 118
diff changeset
42 OBJECT *obj;
e085768
parents: 118
diff changeset
43 void *free_addr;
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
44
126
030394675d8e succes compile
e085768
parents: 124
diff changeset
45 // 初期化
030394675d8e succes compile
e085768
parents: 124
diff changeset
46 droot->createFromXMLfile(fieldImg);
030394675d8e succes compile
e085768
parents: 124
diff changeset
47 obj = droot->createSceneGraph("hoge");
124
e085768
parents: 118
diff changeset
48
126
030394675d8e succes compile
e085768
parents: 124
diff changeset
49 droot->createFromXMLfile(colImg);
030394675d8e succes compile
e085768
parents: 124
diff changeset
50 OBJECT *col_obj = droot->createSceneGraph("hoge");
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
51
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
52 if (malloc_align16(&free_addr, &self, sizeof(Field)) == -1) {
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
53 fprintf(stderr, "field.c: malloc_align16 error\n");
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
54 fflush(stderr);
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
55 exit(EXIT_FAILURE);
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
56 }
124
e085768
parents: 118
diff changeset
57
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
58 self->object = obj;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
59 self->next = NULL;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
60 self->prev = NULL;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
61 self->free_addr = free_addr;
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
62 #ifdef DEBUG
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
63 fprintf(main_fp, "malloc fieldNode addr = %x(free), %x(obj)\n", (int)free_addr, (int)self);
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
64 #endif
124
e085768
parents: 118
diff changeset
65
e085768
parents: 118
diff changeset
66 // ちょっと今だけコメント ---
126
030394675d8e succes compile
e085768
parents: 124
diff changeset
67 col_init(&self->colface, col_obj);
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
68
34
55f2d0326c4d *** empty log message ***
gongo
parents: 33
diff changeset
69 #ifdef DEBUG
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
70 fprintf(main_fp, " facenum = %d\n", self->colface.facenum);
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
71 fprintf(main_fp, " facenum = %x(free), ", (int)self->colface.free_addr);
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
72 fprintf(main_fp, "facenum = %x(obj)\n", (int)self->colface.colface);
34
55f2d0326c4d *** empty log message ***
gongo
parents: 33
diff changeset
73 #endif
55f2d0326c4d *** empty log message ***
gongo
parents: 33
diff changeset
74
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
75 return self;
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
76 }
91
cb6c6de125dc halfway
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 90
diff changeset
77
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
78
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
79 static void
32
b5c5ffd4d2f2 *** empty log message ***
gongo
parents: 18
diff changeset
80 field_new_readCSV(FILE *fp, int id)
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
81 {
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
82 FieldPtr fieldHead = NULL;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
83 FieldPtr newField = NULL;
124
e085768
parents: 118
diff changeset
84 FieldPtr prevField = NULL;
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
85 char buff[BUFSIZE], *bufp;
124
e085768
parents: 118
diff changeset
86 char fieldImg[BUFSIZE], colImg[BUFSIZE];//, texname[BUFSIZE];
115
31dd5c07f7c1 class OBJECT:SceanGraph
e085768
parents: 100
diff changeset
87
31dd5c07f7c1 class OBJECT:SceanGraph
e085768
parents: 100
diff changeset
88 //TEXTURE *tex = NULL;
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
89 int course_id;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
90 bool flag = false;
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
91
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
92 while ((bufp = fgets(buff, BUFSIZE, fp)) != NULL) {
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
93 bufp++;
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
94
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
95 switch (buff[0]) {
124
e085768
parents: 118
diff changeset
96
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
97 case 'n': // コースIDの読み取り
124
e085768
parents: 118
diff changeset
98 if (flag == false) {
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
99 sscanf(bufp, " %d\n", &course_id);
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
100 if (id == course_id) {
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
101 flag = true;
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
102 }
124
e085768
parents: 118
diff changeset
103 }
e085768
parents: 118
diff changeset
104 else {
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
105 goto FINISH_LOAD;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
106 }
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
107 break;
115
31dd5c07f7c1 class OBJECT:SceanGraph
e085768
parents: 100
diff changeset
108
31dd5c07f7c1 class OBJECT:SceanGraph
e085768
parents: 100
diff changeset
109 /*
124
e085768
parents: 118
diff changeset
110 case 't': // テクスチャのロード
e085768
parents: 118
diff changeset
111 if (flag) {
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
112 sscanf(bufp, " %s\n", texname);
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
113 //tex = read_png_file(texname);
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
114 ps2util_tex_Set(tex);
124
e085768
parents: 118
diff changeset
115 }
e085768
parents: 118
diff changeset
116 break;
115
31dd5c07f7c1 class OBJECT:SceanGraph
e085768
parents: 100
diff changeset
117 */
31dd5c07f7c1 class OBJECT:SceanGraph
e085768
parents: 100
diff changeset
118
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
119 case 'c': // コースのロード
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
120 if (flag) {
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
121 sscanf(bufp, " %s %s\n", fieldImg, colImg);
124
e085768
parents: 118
diff changeset
122
e085768
parents: 118
diff changeset
123 newField = field_create(fieldImg, colImg );//, tex);
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
124 if (!fieldHead) {
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
125 fieldHead = prevField = newField;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
126 } else {
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
127 prevField->next = newField;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
128 newField->prev = prevField;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
129 prevField = newField;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
130 }
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
131 newField->init = fieldHead;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
132 field_num_max++;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
133 }
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
134 break;
124
e085768
parents: 118
diff changeset
135
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
136 default:
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
137 break;
116
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
138
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
139 }
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
140 }
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
141
124
e085768
parents: 118
diff changeset
142
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
143 FINISH_LOAD:
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
144 // 先頭と最後尾のリンクを張る
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
145 newField->next = newField->init;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
146 newField->init->prev = newField;
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
147
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
148 field_list = field_actual = fieldHead;
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
149 }
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
150
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
151
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
152 /*---------------------/
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
153 FieldPtr
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
154 field_init:
88
ce9ef7dcf2f0 convert UTF-8
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 43
diff changeset
155 指定したファイルからコースを生成する。
ce9ef7dcf2f0 convert UTF-8
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 43
diff changeset
156 戻り値
ce9ef7dcf2f0 convert UTF-8
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 43
diff changeset
157 コース先頭のポインタ
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
158 /---------------------*/
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
159 void
32
b5c5ffd4d2f2 *** empty log message ***
gongo
parents: 18
diff changeset
160 field_init(int id)
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
161 {
115
31dd5c07f7c1 class OBJECT:SceanGraph
e085768
parents: 100
diff changeset
162 FILE *fp;
31dd5c07f7c1 class OBJECT:SceanGraph
e085768
parents: 100
diff changeset
163 const char *filename = "course/course.dat";
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
164
115
31dd5c07f7c1 class OBJECT:SceanGraph
e085768
parents: 100
diff changeset
165 if (!(fp = fopen(filename, "r"))) {
31dd5c07f7c1 class OBJECT:SceanGraph
e085768
parents: 100
diff changeset
166 fprintf(main_fp, "error read file %s\n", filename);
31dd5c07f7c1 class OBJECT:SceanGraph
e085768
parents: 100
diff changeset
167 exit(EXIT_FAILURE);
31dd5c07f7c1 class OBJECT:SceanGraph
e085768
parents: 100
diff changeset
168 }
31dd5c07f7c1 class OBJECT:SceanGraph
e085768
parents: 100
diff changeset
169 field_new_readCSV(fp, id);
31dd5c07f7c1 class OBJECT:SceanGraph
e085768
parents: 100
diff changeset
170 fclose(fp);
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
171 }
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
172
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
173 static void
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
174 field_draw(FieldPtr p)
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
175 {
126
030394675d8e succes compile
e085768
parents: 124
diff changeset
176 ps2_vu0_unit_matrix((FMATRIX)(p->object->matrix));
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
177
124
e085768
parents: 118
diff changeset
178 /*
e085768
parents: 118
diff changeset
179 p->object->matrix[3][0] = p->location[0];
e085768
parents: 118
diff changeset
180 p->object->matrix[3][1] = p->location[1];
e085768
parents: 118
diff changeset
181 p->object->matrix[3][2] = p->location[2];
e085768
parents: 118
diff changeset
182 p->object->matrix[3][3] = p->location[3];
e085768
parents: 118
diff changeset
183 */
118
b6dc70f6aa7e chenge OBJECT->transfer
e085768
parents: 116
diff changeset
184
124
e085768
parents: 118
diff changeset
185 // 上の5この処理、このやり方でも同じか確かめたい
118
b6dc70f6aa7e chenge OBJECT->transfer
e085768
parents: 116
diff changeset
186 for( int i = 0; i < 4; i ++ )
126
030394675d8e succes compile
e085768
parents: 124
diff changeset
187 p->object->matrix[11+i] = p->location[0];
118
b6dc70f6aa7e chenge OBJECT->transfer
e085768
parents: 116
diff changeset
188
124
e085768
parents: 118
diff changeset
189 // 今ちょっとコメント
e085768
parents: 118
diff changeset
190 //ps2util_obj_Draw(p->object);
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
191 }
91
cb6c6de125dc halfway
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 90
diff changeset
192
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
193
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
194 void field_update(CarPtr car)
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
195 {
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
196 FieldPtr p;
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
197
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
198 p = field_actual;
126
030394675d8e succes compile
e085768
parents: 124
diff changeset
199
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
200 // current
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
201 p->location[0] = -car->location[0];
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
202 p->location[1] = -car->location[1];
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
203 p->location[2] = -car->location[2];
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
204 p->location[3] = 1;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
205 field_draw(p);
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
206
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
207 // next
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
208 p = field_actual->next;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
209 if (p) {
91
cb6c6de125dc halfway
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 90
diff changeset
210 p->location[0] = -car->location[0];
cb6c6de125dc halfway
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 90
diff changeset
211 p->location[1] = -car->location[1];
cb6c6de125dc halfway
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 90
diff changeset
212 p->location[2] = -car->location[2];
cb6c6de125dc halfway
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 90
diff changeset
213 p->location[3] = 1;
cb6c6de125dc halfway
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 90
diff changeset
214 field_draw(p);
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
215 }
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
216
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
217 // prev
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
218 p = field_actual->prev;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
219 if (p) {
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
220 p->location[0] = -car->location[0];
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
221 p->location[1] = -car->location[1];
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
222 p->location[2] = -car->location[2];
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
223 p->location[3] = 1;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
224 field_draw(p);
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
225 }
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
226 }
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
227
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
228 void
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
229 field_destroy()
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
230 {
116
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
231 /*
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
232 FieldPtr p = field_list;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
233 FieldPtr d;
115
31dd5c07f7c1 class OBJECT:SceanGraph
e085768
parents: 100
diff changeset
234
116
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
235
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
236 TEXTURE *t;
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
237
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
238 p->prev->next = NULL;
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
239
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
240 t = p->object->surfaces->texture;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
241 ps2util_tex_Exclude(t);
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
242 free_texture(t);
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
243
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
244 while (p) {
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
245 d = p;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
246 p = p->next;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
247 ps2util_obj_Free(d->object);
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
248 free(d->colface.free_addr);
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
249 free(d->free_addr);
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
250 #ifdef DEBUG
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
251 fprintf(main_fp, "free fieldNode addr = %x\n", (int)d->free_addr);
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
252 #endif
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
253 }
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
254
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
255 field_num_max = 0;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
256 field_num = 1;
115
31dd5c07f7c1 class OBJECT:SceanGraph
e085768
parents: 100
diff changeset
257
31dd5c07f7c1 class OBJECT:SceanGraph
e085768
parents: 100
diff changeset
258 */
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
259 }
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
260
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
261 /*
88
ce9ef7dcf2f0 convert UTF-8
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 43
diff changeset
262 * 周回記録。1周する毎に1を返す。
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
263 */
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
264 int
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
265 field_rap_increment(int n)
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
266 {
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
267 field_num += n;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
268 if (field_num > field_num_max) {
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
269 field_num = 1;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
270 return 1;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
271 } else {
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
272 return 0;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
273 }
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
274 }
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
275
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
276 void
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
277 field_set_actual(FieldPtr p)
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
278 {
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
279 field_actual = p;
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
280 }
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
281
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
282 FieldPtr
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
283 field_get_actual()
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
284 {
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
285 return field_actual;
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
286 }