annotate field.cc @ 132:d84ee8b2cfd9

camera position update
author Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
date Thu, 21 Jul 2011 17:25:59 +0900
parents 586d68c42c5d
children
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
130
586d68c42c5d draw field
e085768
parents: 129
diff changeset
13 #include "gSprite.h"
586d68c42c5d draw field
e085768
parents: 129
diff changeset
14 #include "getStrFromFile.h"
586d68c42c5d draw field
e085768
parents: 129
diff changeset
15
126
030394675d8e succes compile
e085768
parents: 124
diff changeset
16
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
17 #define BUFSIZE 256
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
18
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
19 /* --- main.c --- */
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
20 extern FILE *main_fp;
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
21
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
22 // コース一周分のfieldの数
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
23 static int field_num_max = 0;
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
24
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
25 // 自分が走ったfieldの数のカウント
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
26 // field_num_max > field_num になったら一周って意味かも。違うかも
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
27 static int field_num = 1;
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
28
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
29 // FieldPtrのroot部分を指し示してるんだともう
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
30 static FieldPtr field_list;
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
31
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
32 // 現在走ってるfield
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
33 static FieldPtr field_actual;
91
cb6c6de125dc halfway
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 90
diff changeset
34
126
030394675d8e succes compile
e085768
parents: 124
diff changeset
35
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
36 // 適当に自作:miya
124
e085768
parents: 118
diff changeset
37 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
38 {
124
e085768
parents: 118
diff changeset
39 PolygonInfo* test;
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
40 printf("xml_read_file");
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
41
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
42 return test;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
43 }
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
44
124
e085768
parents: 118
diff changeset
45
130
586d68c42c5d draw field
e085768
parents: 129
diff changeset
46 /*
586d68c42c5d draw field
e085768
parents: 129
diff changeset
47 static FieldPtr
586d68c42c5d draw field
e085768
parents: 129
diff changeset
48 field_create(char *fieldImg, char *colImg )// OBJECT *tex)
586d68c42c5d draw field
e085768
parents: 129
diff changeset
49 {
124
e085768
parents: 118
diff changeset
50 FieldPtr self;
e085768
parents: 118
diff changeset
51 OBJECT *obj;
e085768
parents: 118
diff changeset
52 void *free_addr;
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
53
126
030394675d8e succes compile
e085768
parents: 124
diff changeset
54 // 初期化
030394675d8e succes compile
e085768
parents: 124
diff changeset
55 droot->createFromXMLfile(fieldImg);
130
586d68c42c5d draw field
e085768
parents: 129
diff changeset
56 obj = droot->createSceneGraph("hoge");
124
e085768
parents: 118
diff changeset
57
126
030394675d8e succes compile
e085768
parents: 124
diff changeset
58 droot->createFromXMLfile(colImg);
130
586d68c42c5d draw field
e085768
parents: 129
diff changeset
59
586d68c42c5d draw field
e085768
parents: 129
diff changeset
60 // OBJECT *col_obj = droot->createSceneGraph("hoge");
586d68c42c5d draw field
e085768
parents: 129
diff changeset
61 SceneGraphPtr col_obj = droot->createSceneGraph("hoge");
586d68c42c5d draw field
e085768
parents: 129
diff changeset
62
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
63 if (malloc_align16(&free_addr, &self, sizeof(Field)) == -1) {
130
586d68c42c5d draw field
e085768
parents: 129
diff changeset
64 fprintf(stderr, "field.c: malloc_align16 error\n");
586d68c42c5d draw field
e085768
parents: 129
diff changeset
65 fflush(stderr);
586d68c42c5d draw field
e085768
parents: 129
diff changeset
66 exit(EXIT_FAILURE);
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
67 }
124
e085768
parents: 118
diff changeset
68
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
69 self->object = obj;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
70 self->next = NULL;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
71 self->prev = NULL;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
72 self->free_addr = free_addr;
130
586d68c42c5d draw field
e085768
parents: 129
diff changeset
73 #ifdef DEBUG
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
74 fprintf(main_fp, "malloc fieldNode addr = %x(free), %x(obj)\n", (int)free_addr, (int)self);
130
586d68c42c5d draw field
e085768
parents: 129
diff changeset
75 #endif
124
e085768
parents: 118
diff changeset
76
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
77 printf("col_init()の直前!\n");
124
e085768
parents: 118
diff changeset
78 // ちょっと今だけコメント ---
126
030394675d8e succes compile
e085768
parents: 124
diff changeset
79 col_init(&self->colface, col_obj);
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
80
130
586d68c42c5d draw field
e085768
parents: 129
diff changeset
81 #ifdef DEBUG
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
82 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
83 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
84 fprintf(main_fp, "facenum = %x(obj)\n", (int)self->colface.colface);
130
586d68c42c5d draw field
e085768
parents: 129
diff changeset
85 #endif
34
55f2d0326c4d *** empty log message ***
gongo
parents: 33
diff changeset
86
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
87 return self;
130
586d68c42c5d draw field
e085768
parents: 129
diff changeset
88 }
586d68c42c5d draw field
e085768
parents: 129
diff changeset
89 */
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
90
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
91
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
92 static FieldPtr
130
586d68c42c5d draw field
e085768
parents: 129
diff changeset
93 field_create(char *fieldImg, char *colImg, int number )//, TEXTURE* tex)
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
94 {
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
95 FieldPtr self;
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
96 OBJECT *obj;
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
97 PolygonInfo *xml;
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
98 void *free_addr;
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
99
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
100 FVECTOR location = {0, 0, 0, 1};
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
101 FVECTOR direction = {0, 0, 0, 1};
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
102
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
103 // 今はなにもしてない.
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
104 obj = ps2util_obj_Create_fromXML(fieldImg);
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
105 ps2util_obj_Set_effect(obj, DEFAULT_SET);
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
106 // ps2util_obj_Set_texture(obj, tex);
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
107
130
586d68c42c5d draw field
e085768
parents: 129
diff changeset
108
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
109 obj = (OBJECT*)malloc(sizeof(OBJECT));
130
586d68c42c5d draw field
e085768
parents: 129
diff changeset
110
586d68c42c5d draw field
e085768
parents: 129
diff changeset
111 // xmlから読み込み
586d68c42c5d draw field
e085768
parents: 129
diff changeset
112 call_createFromXMLfile(fieldImg);
586d68c42c5d draw field
e085768
parents: 129
diff changeset
113
586d68c42c5d draw field
e085768
parents: 129
diff changeset
114 const char *sStr = "surface name=\""; // この文字列の直後の文字列を取得する
586d68c42c5d draw field
e085768
parents: 129
diff changeset
115 const char *eStr = "\" size="; // この文字列の直前までの文字列を抜き取る
586d68c42c5d draw field
e085768
parents: 129
diff changeset
116
586d68c42c5d draw field
e085768
parents: 129
diff changeset
117 // xmlファイルから surface name と 数を取得する
586d68c42c5d draw field
e085768
parents: 129
diff changeset
118 obj->partNum = getStrFromFile( obj->partName, fieldImg, sStr, eStr );
586d68c42c5d draw field
e085768
parents: 129
diff changeset
119
586d68c42c5d draw field
e085768
parents: 129
diff changeset
120 /*
586d68c42c5d draw field
e085768
parents: 129
diff changeset
121 char *objName; // xmf内のsurfaceの名前を入れる. オブジェクト名。
586d68c42c5d draw field
e085768
parents: 129
diff changeset
122
586d68c42c5d draw field
e085768
parents: 129
diff changeset
123 int objNum = 3; // kinokoコースは一つのxmlファイルに3つずつのsurfaceがある
586d68c42c5d draw field
e085768
parents: 129
diff changeset
124 // rainbowなら2こずつ
586d68c42c5d draw field
e085768
parents: 129
diff changeset
125
586d68c42c5d draw field
e085768
parents: 129
diff changeset
126 for( int i = 1; i < objNum+1; i ++ ){
586d68c42c5d draw field
e085768
parents: 129
diff changeset
127 sprintf(objName, "course_%d_%d", number+1, i );
586d68c42c5d draw field
e085768
parents: 129
diff changeset
128 if( i == 1 )
586d68c42c5d draw field
e085768
parents: 129
diff changeset
129 obj->name = objName; // obj->nameってcourse1_1か、course1_3かどっちがいいかな
586d68c42c5d draw field
e085768
parents: 129
diff changeset
130
586d68c42c5d draw field
e085768
parents: 129
diff changeset
131 // これキノココースしか適応できてない。他のコースでも汎用できるアルゴリズム欲しい
586d68c42c5d draw field
e085768
parents: 129
diff changeset
132 gSprite_DefSprite( COURSE1_1+(number*objNum)+i, objName, 100, 100, 1 );
586d68c42c5d draw field
e085768
parents: 129
diff changeset
133 }
586d68c42c5d draw field
e085768
parents: 129
diff changeset
134 */
586d68c42c5d draw field
e085768
parents: 129
diff changeset
135
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
136
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
137 memcpy(obj->xyz, location, sizeof(FVECTOR));
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
138 memcpy(obj->angle, direction, sizeof(FVECTOR));
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
139
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
140 ps2util_obj_Renew_transMatrix(obj);
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
141
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
142 // ここでxml->sizの数も数えてたんだろうね
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
143 xml = xml_read_file(colImg); //
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
144
130
586d68c42c5d draw field
e085768
parents: 129
diff changeset
145 if (malloc_align16(&free_addr, &self, sizeof(Field)) == -1 ) {
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
146 fprintf(stderr, "field.c: malloc_align16 error\n");
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
147 fflush(stderr);
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
148 exit(EXIT_FAILURE);
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
149 }
130
586d68c42c5d draw field
e085768
parents: 129
diff changeset
150
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
151 self->object = obj;
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
152 self->next = NULL;
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
153 self->prev = NULL;
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
154 self->free_addr = free_addr;
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
155 #ifdef DEBUG
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
156 fprintf(main_fp, "malloc fieldNode addr = %x(free), %x(obj)\n", (int)free_addr, (int)self);
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
157 #endif
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
158
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
159 col_init(&self->colface, xml);
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
160
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
161 #ifdef DEBUG
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
162 fprintf(main_fp, " facenum = %d\n", self->colface.facenum);
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
163 fprintf(main_fp, " facenum = %x(free), ", (int)self->colface.free_addr);
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
164 fprintf(main_fp, "facenum = %x(obj)\n", (int)self->colface.colface);
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
165 #endif
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
166 //xml_free(xml);
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
167 return self;
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
168 }
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
169
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
170 static void
32
b5c5ffd4d2f2 *** empty log message ***
gongo
parents: 18
diff changeset
171 field_new_readCSV(FILE *fp, int id)
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
172 {
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
173 FieldPtr fieldHead = NULL;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
174 FieldPtr newField = NULL;
124
e085768
parents: 118
diff changeset
175 FieldPtr prevField = NULL;
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
176 char buff[BUFSIZE], *bufp;
124
e085768
parents: 118
diff changeset
177 char fieldImg[BUFSIZE], colImg[BUFSIZE];//, texname[BUFSIZE];
115
31dd5c07f7c1 class OBJECT:SceanGraph
e085768
parents: 100
diff changeset
178
31dd5c07f7c1 class OBJECT:SceanGraph
e085768
parents: 100
diff changeset
179 //TEXTURE *tex = NULL;
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
180 int course_id;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
181 bool flag = false;
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
182
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
183 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
184 bufp++;
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
185
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
186 switch (buff[0]) {
124
e085768
parents: 118
diff changeset
187
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
188 case 'n': // コースIDの読み取り
124
e085768
parents: 118
diff changeset
189 if (flag == false) {
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
190 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
191 if (id == course_id) {
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
192 flag = true;
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
193 }
124
e085768
parents: 118
diff changeset
194 }
e085768
parents: 118
diff changeset
195 else {
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
196 goto FINISH_LOAD;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
197 }
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
198 break;
115
31dd5c07f7c1 class OBJECT:SceanGraph
e085768
parents: 100
diff changeset
199
31dd5c07f7c1 class OBJECT:SceanGraph
e085768
parents: 100
diff changeset
200 /*
124
e085768
parents: 118
diff changeset
201 case 't': // テクスチャのロード
e085768
parents: 118
diff changeset
202 if (flag) {
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
203 sscanf(bufp, " %s\n", texname);
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
204 //tex = read_png_file(texname);
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
205 ps2util_tex_Set(tex);
124
e085768
parents: 118
diff changeset
206 }
e085768
parents: 118
diff changeset
207 break;
115
31dd5c07f7c1 class OBJECT:SceanGraph
e085768
parents: 100
diff changeset
208 */
31dd5c07f7c1 class OBJECT:SceanGraph
e085768
parents: 100
diff changeset
209
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
210 case 'c': // コースのロード
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
211 if (flag) {
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
212 sscanf(bufp, " %s %s\n", fieldImg, colImg);
124
e085768
parents: 118
diff changeset
213
130
586d68c42c5d draw field
e085768
parents: 129
diff changeset
214 // field_num_max 番目のコース
586d68c42c5d draw field
e085768
parents: 129
diff changeset
215 newField = field_create(fieldImg, colImg, field_num_max );//, tex);
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
216
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
217 if (!fieldHead) {
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
218 fieldHead = prevField = newField;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
219 } else {
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
220 prevField->next = newField;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
221 newField->prev = prevField;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
222 prevField = newField;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
223 }
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
224 newField->init = fieldHead;
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
225 field_num_max++;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
226 }
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
227 break;
124
e085768
parents: 118
diff changeset
228
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
229 default:
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
230 break;
116
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
231
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
232 }
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
233 }
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
234
124
e085768
parents: 118
diff changeset
235
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
236 FINISH_LOAD:
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
237 // 先頭と最後尾のリンクを張る
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
238 newField->next = newField->init;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
239 newField->init->prev = newField;
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
240
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
241 field_list = field_actual = fieldHead;
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
242 }
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
243
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
244
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
245 /*---------------------/
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
246 FieldPtr
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
247 field_init:
88
ce9ef7dcf2f0 convert UTF-8
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 43
diff changeset
248 指定したファイルからコースを生成する。
ce9ef7dcf2f0 convert UTF-8
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 43
diff changeset
249 戻り値
ce9ef7dcf2f0 convert UTF-8
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 43
diff changeset
250 コース先頭のポインタ
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
251 /---------------------*/
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
252 void
32
b5c5ffd4d2f2 *** empty log message ***
gongo
parents: 18
diff changeset
253 field_init(int id)
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
254 {
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
255 printf("field_init()\n");
115
31dd5c07f7c1 class OBJECT:SceanGraph
e085768
parents: 100
diff changeset
256 FILE *fp;
31dd5c07f7c1 class OBJECT:SceanGraph
e085768
parents: 100
diff changeset
257 const char *filename = "course/course.dat";
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
258
115
31dd5c07f7c1 class OBJECT:SceanGraph
e085768
parents: 100
diff changeset
259 if (!(fp = fopen(filename, "r"))) {
31dd5c07f7c1 class OBJECT:SceanGraph
e085768
parents: 100
diff changeset
260 fprintf(main_fp, "error read file %s\n", filename);
31dd5c07f7c1 class OBJECT:SceanGraph
e085768
parents: 100
diff changeset
261 exit(EXIT_FAILURE);
31dd5c07f7c1 class OBJECT:SceanGraph
e085768
parents: 100
diff changeset
262 }
31dd5c07f7c1 class OBJECT:SceanGraph
e085768
parents: 100
diff changeset
263 field_new_readCSV(fp, id);
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
264 printf("field_init()\n");
115
31dd5c07f7c1 class OBJECT:SceanGraph
e085768
parents: 100
diff changeset
265 fclose(fp);
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
266 }
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
267
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
268 static void
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
269 field_draw(FieldPtr p)
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
270 {
130
586d68c42c5d draw field
e085768
parents: 129
diff changeset
271 ps2_vu0_unit_matrix(p->object->transfer);
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
272
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
273 p->object->transfer[3][0] = p->location[0];
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
274 p->object->transfer[3][1] = p->location[1];
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
275 p->object->transfer[3][2] = p->location[2];
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
276 p->object->transfer[3][3] = p->location[3];
130
586d68c42c5d draw field
e085768
parents: 129
diff changeset
277
586d68c42c5d draw field
e085768
parents: 129
diff changeset
278
586d68c42c5d draw field
e085768
parents: 129
diff changeset
279 // 下の行はしないで良いのかな?
586d68c42c5d draw field
e085768
parents: 129
diff changeset
280 memcpy(p->object->xyz, p->location, sizeof(FVECTOR));
586d68c42c5d draw field
e085768
parents: 129
diff changeset
281 // memcpy(p->object->angle, p->direction, sizeof(FVECTOR));
586d68c42c5d draw field
e085768
parents: 129
diff changeset
282
586d68c42c5d draw field
e085768
parents: 129
diff changeset
283 gSprite_PutObject( COURSE1_1, p->object );
586d68c42c5d draw field
e085768
parents: 129
diff changeset
284 // ps2util_obj_Draw(p->object);
586d68c42c5d draw field
e085768
parents: 129
diff changeset
285
586d68c42c5d draw field
e085768
parents: 129
diff changeset
286 // ps2_vu0_unit_matrix(&(p->object->matrix));
586d68c42c5d draw field
e085768
parents: 129
diff changeset
287
586d68c42c5d draw field
e085768
parents: 129
diff changeset
288 /*
586d68c42c5d draw field
e085768
parents: 129
diff changeset
289 p->object->matrix[3][0] = p->location[0];
586d68c42c5d draw field
e085768
parents: 129
diff changeset
290 p->object->matrix[3][1] = p->location[1];
586d68c42c5d draw field
e085768
parents: 129
diff changeset
291 p->object->matrix[3][2] = p->location[2];
586d68c42c5d draw field
e085768
parents: 129
diff changeset
292 p->object->matrix[3][3] = p->location[3];
124
e085768
parents: 118
diff changeset
293 */
118
b6dc70f6aa7e chenge OBJECT->transfer
e085768
parents: 116
diff changeset
294
130
586d68c42c5d draw field
e085768
parents: 129
diff changeset
295 /*
586d68c42c5d draw field
e085768
parents: 129
diff changeset
296 // 上の5この処理、このやり方でも同じか確かめて
586d68c42c5d draw field
e085768
parents: 129
diff changeset
297 for( int i = 0; i < 4; i ++ )
586d68c42c5d draw field
e085768
parents: 129
diff changeset
298 p->object->matrix[11+i] = p->location[0];
586d68c42c5d draw field
e085768
parents: 129
diff changeset
299
586d68c42c5d draw field
e085768
parents: 129
diff changeset
300 // 今ちょっとコメント
586d68c42c5d draw field
e085768
parents: 129
diff changeset
301 ps2util_obj_Draw(p->object);
586d68c42c5d draw field
e085768
parents: 129
diff changeset
302 */
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
303 }
91
cb6c6de125dc halfway
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 90
diff changeset
304
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
305
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
306 void field_update(CarPtr car)
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
307 {
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
308 FieldPtr p;
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
309
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
310 p = field_actual;
126
030394675d8e succes compile
e085768
parents: 124
diff changeset
311
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
312 // current
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
313 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
314 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
315 p->location[2] = -car->location[2];
132
d84ee8b2cfd9 camera position update
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents: 130
diff changeset
316 //p->location[0] = 0;
d84ee8b2cfd9 camera position update
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents: 130
diff changeset
317 //p->location[1] = 0;
d84ee8b2cfd9 camera position update
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents: 130
diff changeset
318 //p->location[2] = 0;
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
319 p->location[3] = 1;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
320 field_draw(p);
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
321
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
322 // next
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
323 p = field_actual->next;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
324 if (p) {
91
cb6c6de125dc halfway
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 90
diff changeset
325 p->location[0] = -car->location[0];
cb6c6de125dc halfway
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 90
diff changeset
326 p->location[1] = -car->location[1];
cb6c6de125dc halfway
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 90
diff changeset
327 p->location[2] = -car->location[2];
132
d84ee8b2cfd9 camera position update
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents: 130
diff changeset
328 //p->location[0] = 0;
d84ee8b2cfd9 camera position update
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents: 130
diff changeset
329 //p->location[1] = 0;
d84ee8b2cfd9 camera position update
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents: 130
diff changeset
330 //p->location[2] = 0;
91
cb6c6de125dc halfway
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 90
diff changeset
331 p->location[3] = 1;
cb6c6de125dc halfway
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 90
diff changeset
332 field_draw(p);
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
333 }
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
334
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
335 // prev
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
336 p = field_actual->prev;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
337 if (p) {
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
338 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
339 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
340 p->location[2] = -car->location[2];
132
d84ee8b2cfd9 camera position update
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents: 130
diff changeset
341 //p->location[0] = 0;
d84ee8b2cfd9 camera position update
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents: 130
diff changeset
342 //p->location[1] = 0;
d84ee8b2cfd9 camera position update
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents: 130
diff changeset
343 //p->location[2] = 0;
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
344 p->location[3] = 1;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
345 field_draw(p);
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
346 }
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
347 }
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
348
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
349 void
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
350 field_destroy()
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
351 {
116
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
352 /*
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
353 FieldPtr p = field_list;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
354 FieldPtr d;
115
31dd5c07f7c1 class OBJECT:SceanGraph
e085768
parents: 100
diff changeset
355
116
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
356
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
357 TEXTURE *t;
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
358
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
359 p->prev->next = NULL;
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
360
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
361 t = p->object->surfaces->texture;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
362 ps2util_tex_Exclude(t);
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
363 free_texture(t);
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
364
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
365 while (p) {
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
366 d = p;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
367 p = p->next;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
368 ps2util_obj_Free(d->object);
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
369 free(d->colface.free_addr);
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
370 free(d->free_addr);
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
371 #ifdef DEBUG
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
372 fprintf(main_fp, "free fieldNode addr = %x\n", (int)d->free_addr);
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
373 #endif
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
374 }
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
375
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
376 field_num_max = 0;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
377 field_num = 1;
115
31dd5c07f7c1 class OBJECT:SceanGraph
e085768
parents: 100
diff changeset
378
31dd5c07f7c1 class OBJECT:SceanGraph
e085768
parents: 100
diff changeset
379 */
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
380 }
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
381
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
382 /*
88
ce9ef7dcf2f0 convert UTF-8
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 43
diff changeset
383 * 周回記録。1周する毎に1を返す。
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
384 */
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
385 int
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
386 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
387 {
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
388 field_num += n;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
389 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
390 field_num = 1;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
391 return 1;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
392 } else {
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
393 return 0;
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
394 }
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
395 }
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
396
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
397 void
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
398 field_set_actual(FieldPtr p)
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
399 {
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
400 field_actual = p;
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
401 }
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
402
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
403 FieldPtr
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
404 field_get_actual( void )
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
405 {
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
406 return field_actual;
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
407 }