annotate schedule.c @ 58:1cccf6d964b7

*** empty log message ***
author gongo
date Thu, 09 Nov 2006 01:43:07 +0000
parents 8cef655f3bf9
children 4f977a556ba7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
1 /*
17
6910aeb52843 *** empty log message ***
gongo
parents: 16
diff changeset
2 * $Id$
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
3 */
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
4 #include <stdio.h>
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
5 #include <stdlib.h>
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
6 #include <string.h>
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
7 #include "libps2.h"
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
8 #include "ps2util.h"
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
9 #include "field.h"
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
10 #include "car.h"
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
11 #include "gSprite.h"
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
12 #include "gFont.h"
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
13 #include "game.h"
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
14 #include "controler.h"
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
15 #include "camera.h"
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
16 #include "light.h"
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
17 #include "title_scene.h"
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
18 #include "game_time.h"
45
d7520785d8a6 *** empty log message ***
gongo
parents: 44
diff changeset
19 #include "schedule.h"
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
20
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
21
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
22 #define MAXCAR 3 // 選択可能機体
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
23 #define MAXFIELD 2 // 選択可能コース
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
24 #define MAXRAP 3 // ラップ数
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
25 #define SP_SEL_CAR 50
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
26 #define SP_SEL_COURSE 80
4
d214fd22ef16 *** empty log message ***
gongo
parents: 3
diff changeset
27
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
28 /* --- car.c --- */
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
29 extern void car_update(CarPtr);
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
30 /* --- carNode.c */
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
31 extern void carNode_append(CarPtr);
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
32 extern void carNode_draw();
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
33 extern void carNode_destroy();
43
a1908b83f8fa *** empty log message ***
gongo
parents: 32
diff changeset
34 /* --- fielc.c */
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
35 extern void field_update(CarPtr);
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
36 /* --- mytype.c --- */
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
37 extern void wait_init();
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
38 extern Bool wait(double);
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
39 extern void time_RaceStart();
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
40 extern double time_RaceTime();
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
41 /* --- linda.c --- */
43
a1908b83f8fa *** empty log message ***
gongo
parents: 32
diff changeset
42 extern void linda_env_init();
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
43
46
abadcc080667 *** empty log message ***
gongo
parents: 45
diff changeset
44
abadcc080667 *** empty log message ***
gongo
parents: 45
diff changeset
45
20
b1ba4dad7f6e *** empty log message ***
gongo
parents: 19
diff changeset
46 /* timer */
b1ba4dad7f6e *** empty log message ***
gongo
parents: 19
diff changeset
47 static int start_time,time_count;
b1ba4dad7f6e *** empty log message ***
gongo
parents: 19
diff changeset
48 static int RUNNIG=0;
b1ba4dad7f6e *** empty log message ***
gongo
parents: 19
diff changeset
49 char raptime[10];
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
50
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
51 static int ranking = 0;
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
52 static LIGHT l;
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
53
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
54 static int i=0;
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
55
58
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
56 static void *sche_func_assumption;
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
57 static void *sche_func = &sche_game_init;
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
58 static int change_state = 0;
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
59 static void
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
60 set_schedule_assumption(void *_func)
11
41d3037c34c8 *** empty log message ***
gongo
parents: 8
diff changeset
61 {
58
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
62 sche_func_assumption = _func;
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
63 change_state = 1;
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
64 }
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
65
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
66 static void
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
67 set_schedule()
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
68 {
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
69 sche_func = sche_func_assumption;
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
70 change_state = 0;
11
41d3037c34c8 *** empty log message ***
gongo
parents: 8
diff changeset
71 }
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
72
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
73 static void
2
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
74 graphic_init()
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
75 {
2
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
76 gSprite_Init(); // グラフィック関連の初期化
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
77 gFont_Init(); // フォント関連の初期化
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
78 }
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
79
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
80 static void
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
81 play_init()
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
82 {
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
83 game.jiki = car_init(game.car_id);
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
84 carNode_append(game.jiki);
32
b5c5ffd4d2f2 *** empty log message ***
gongo
parents: 31
diff changeset
85 field_init(game.course_id);
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
86 }
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
87
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
88 static void
2
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
89 game_env_init()
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
90 {
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
91 game.car_id = 1;
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
92 game.course_id = 1;
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
93 game.camera_type = 0;
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
94 game.rap = 1;
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
95 game.jiki = NULL;
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
96
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
97 ranking = 0;
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
98
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
99 wait_init();
43
a1908b83f8fa *** empty log message ***
gongo
parents: 32
diff changeset
100 linda_env_init();
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
101 }
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
102
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
103
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
104
2
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
105 void
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
106 sche_game_init()
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
107 {
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
108 game_env_init();
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
109 graphic_init();
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
110 camera_init();
8
f60cb9a39d7a *** empty log message ***
gongo
parents: 5
diff changeset
111
46
abadcc080667 *** empty log message ***
gongo
parents: 45
diff changeset
112 #ifdef LINDA
58
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
113 set_schedule_assumption(sche_game_wait);
46
abadcc080667 *** empty log message ***
gongo
parents: 45
diff changeset
114 #else
58
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
115 set_schedule_assumption(sche_game_opening);
46
abadcc080667 *** empty log message ***
gongo
parents: 45
diff changeset
116 #endif
2
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
117 }
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
118
44
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
119 /**
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
120 * 通信対戦専用
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
121 * 全ユーザが接続するまで待つ
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
122 */
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
123 static void
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
124 sche_game_wait()
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
125 {
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
126 gFont_SetString("WAITING...", 200, 100);
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
127 if (game.linda_exec() == TRUE)
58
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
128 set_schedule_assumption(sche_game_wait_ready);
44
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
129 }
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
130
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
131 /**
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
132 * 通信対戦専用
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
133 * 全ユーザの接続を確認したら呼び出す
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
134 */
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
135 static void
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
136 sche_game_wait_ready()
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
137 {
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
138 gFont_SetString("CONNECT OK!!", 170, 300);
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
139 if (game.play_id == 1) {
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
140 gFont_SetString(" PUSH START ", 170, 400);
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
141 if (pad.st != 1) { goto WAIT_READY; }
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
142 }
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
143
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
144 if (game.linda_exec() == TRUE)
58
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
145 set_schedule_assumption(sche_game_opening);
44
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
146
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
147 WAIT_READY:
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
148 return;
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
149 }
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
150
2
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
151 void
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
152 sche_game_opening()
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
153 {
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
154 static int blink_count = 0;
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
155 if (game.play_id==1){
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
156 if (blink_count < 35) {
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
157 gFont_SetString("PUSH START !!", 170, 380);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
158 }
20
b1ba4dad7f6e *** empty log message ***
gongo
parents: 19
diff changeset
159 blink_count = (blink_count > 70) ? 0 : blink_count + 1;
44
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
160
46
abadcc080667 *** empty log message ***
gongo
parents: 45
diff changeset
161 if (pad.st != 1) { goto OPENING; }
2
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
162 }
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
163
44
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
164 if (game.linda_exec() == TRUE)
58
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
165 set_schedule_assumption(sche_game_select_car);
44
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
166
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
167 OPENING:
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
168 return;
2
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
169
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
170 /*
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
171 if (game.play_id == 1) {
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
172 if (title_scene() < 0){
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
173 }
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
174 } else if (game.play_id == 2) {
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
175 if (i==0){
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
176 title_init_call();
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
177 i=1;
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
178 }
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
179 }
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
180 */
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
181 }
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
182
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
183 void
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
184 sche_game_select_car()
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
185 {
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
186 if (i==1){
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
187 title_finish_call();
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
188 i=2;
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
189 }
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
190 gSprite_PutSpriteEx(SP_SEL_CAR+game.car_id, 190, 200, 1.5, 1.5);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
191 gSprite_PutSprite(24, 460, 300);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
192 gSprite_PutSprite(25, 120, 300);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
193 gFont_SetString("SELECT CAR", 180, 50);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
194
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
195 if (pad.right == 1) {
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
196 game.car_id =
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
197 (game.car_id > MAXCAR-1) ? 1 : game.car_id + 1;
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
198 }
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
199 if (pad.left == 1) {
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
200 game.car_id =
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
201 (game.car_id < 2) ? MAXCAR : game.car_id - 1;
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
202 }
44
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
203
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
204 if (game.play_id == 1)
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
205 if (pad.circle != 1) { goto SELECT_CAR; }
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
206
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
207 if (game.linda_exec() == TRUE)
58
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
208 set_schedule_assumption(sche_game_select_course);
44
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
209
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
210 SELECT_CAR:
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
211 return;
2
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
212 }
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
213
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
214 void
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
215 sche_game_select_course()
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
216 {
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
217 gSprite_PutSpriteEx(SP_SEL_COURSE+game.course_id, 190, 200, 1.7, 1.8);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
218 gSprite_PutSprite(24, 460, 300);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
219 gSprite_PutSprite(25, 120, 300);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
220
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
221 gFont_SetString("SELECT COURSE", 150, 50);
44
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
222
46
abadcc080667 *** empty log message ***
gongo
parents: 45
diff changeset
223 if (game.play_id == 1) {
44
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
224 if (pad.right == 1) {
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
225 game.course_id =
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
226 (game.course_id > MAXFIELD-1) ? 1 : game.course_id + 1;
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
227 game.linda_exec();
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
228 goto SELECT_COURSE;
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
229 }
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
230 if (pad.left == 1) {
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
231 game.course_id =
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
232 (game.course_id < 2) ? MAXFIELD : game.course_id - 1;
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
233 game.linda_exec();
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
234 goto SELECT_COURSE;
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
235 }
46
abadcc080667 *** empty log message ***
gongo
parents: 45
diff changeset
236
abadcc080667 *** empty log message ***
gongo
parents: 45
diff changeset
237 if (pad.circle != 1) { goto SELECT_COURSE; }
2
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
238 }
44
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
239
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
240 if (game.linda_exec() == TRUE)
58
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
241 set_schedule_assumption(sche_game_ready);
44
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
242
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
243 SELECT_COURSE:
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
244 return;
3b71b39411b1 *** empty log message ***
gongo
parents: 43
diff changeset
245
2
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
246 }
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
247
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
248 void
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
249 sche_game_ready()
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
250 {
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
251 static int blink_count = 0;
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
252
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
253 gSprite_PutSprite(27+game.play_id,265,10);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
254 gSprite_PutSpriteEx(SP_SEL_CAR+game.car_id, 50, 120, 1.5, 1.5);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
255 gSprite_PutSpriteEx(SP_SEL_COURSE+game.course_id, 340, 120, 1.7, 1.8);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
256
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
257 /* 点滅 */
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
258 if (blink_count < 35) {
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
259 gFont_SetString("GAME START !!", 170, 380);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
260 }
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
261 blink_count = (blink_count > 70) ? 0 : blink_count + 1;
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
262
52
c875add6256e *** empty log message ***
gongo
parents: 46
diff changeset
263 if (game.linda_exec() == TRUE)
58
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
264 set_schedule_assumption(sche_game_main_init);
52
c875add6256e *** empty log message ***
gongo
parents: 46
diff changeset
265
c875add6256e *** empty log message ***
gongo
parents: 46
diff changeset
266 /*
c875add6256e *** empty log message ***
gongo
parents: 46
diff changeset
267 if (pad.st == 1) {
58
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
268 set_schedule_assumption(sche_game_main_init);
2
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
269 }
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
270 if (pad.cross > 0) {
58
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
271 set_schedule_assumption(sche_game_select_car);
2
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
272 }
52
c875add6256e *** empty log message ***
gongo
parents: 46
diff changeset
273 */
2
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
274 }
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
275
55
8cef655f3bf9 *** empty log message ***
gongo
parents: 52
diff changeset
276 extern FILE *main_fp;
2
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
277 void
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
278 sche_game_main_init()
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
279 {
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
280 if (!game.jiki)
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
281 play_init();
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
282 RUNNIG=0;
52
c875add6256e *** empty log message ***
gongo
parents: 46
diff changeset
283
58
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
284 set_schedule_assumption(sche_game_main);
2
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
285 }
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
286
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
287 void
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
288 sche_game_main()
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
289 {
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
290
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
291 /** begin: dispaly RAP TIME **/
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
292 if(RUNNIG==0){
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
293 start_time = game_time_get_msec();
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
294 RUNNIG=1;
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
295 }
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
296
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
297 time_count = game_time_get_msec() - start_time;
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
298 game_time_set_raptime(raptime,time_count);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
299 gFont_SetString("TIME",300,20);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
300 gFont_SetString(raptime,400,20);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
301 /** end: dispaly RAP TIME **/
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
302
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
303 light_init(&l);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
304 set_light(&l);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
305
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
306 car_update(game.jiki);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
307 field_update(game.jiki);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
308 camera_update(game.jiki->body->transfer);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
309 carNode_draw();
20
b1ba4dad7f6e *** empty log message ***
gongo
parents: 19
diff changeset
310
2
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
311 gFont_SetStringInt(game.rap, 50, 100);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
312
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
313 /* スピードメーター */
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
314 gSprite_DefSprite(23, 1, 1,(int)(106.0*(game.jiki->speed/game.jiki->speed_max)), 34);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
315 gSprite_PutSprite(23, 400, 400);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
316 /* km/h */
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
317 gSprite_PutSprite(26, 470, 350);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
318 /* Rap */
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
319 gSprite_PutSprite(27, 80, 100);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
320
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
321 if (game.rap > MAXRAP) {
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
322 ranking = 1;
58
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
323 set_schedule_assumption(sche_game_main_goal);
2
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
324 }
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
325
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
326 gFont_SetStringInt((int)(100.0*game.jiki->speed), 380, 350);
20
b1ba4dad7f6e *** empty log message ***
gongo
parents: 19
diff changeset
327
2
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
328 if ((pad.right > 0) && ((game.jiki->speed != 0) || (pad.circle > 0))) {
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
329 car_swerve(game.jiki, 1);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
330 }
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
331 if ((pad.left > 0) && ((game.jiki->speed != 0) || (pad.circle > 0))) {
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
332 car_swerve(game.jiki, -1);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
333 }
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
334 if (pad.circle > 0) {
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
335 car_accelerate(game.jiki, 1);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
336 }
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
337 if (pad.cross > 0) {
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
338 car_accelerate(game.jiki, -1);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
339 }
20
b1ba4dad7f6e *** empty log message ***
gongo
parents: 19
diff changeset
340
52
c875add6256e *** empty log message ***
gongo
parents: 46
diff changeset
341 game.linda_exec();
c875add6256e *** empty log message ***
gongo
parents: 46
diff changeset
342
2
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
343 if (pad.r1 == 1) {
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
344 game.camera_type = !game.camera_type;
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
345 }
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
346 if (pad.st == 1) {
58
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
347 set_schedule_assumption(sche_game_main_pause);
2
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
348 }
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
349 }
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
350
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
351 void
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
352 sche_game_main_pause()
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
353 {
26
4447fd650f60 *** empty log message ***
gongo
parents: 20
diff changeset
354 static int select = 0;
4447fd650f60 *** empty log message ***
gongo
parents: 20
diff changeset
355
2
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
356 field_update(game.jiki);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
357 carNode_draw();
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
358
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
359 if (game.play_id == 1) {
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
360 /* 選択マーク */
26
4447fd650f60 *** empty log message ***
gongo
parents: 20
diff changeset
361 gSprite_PutSprite(17, 100, 190+select*100);
2
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
362
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
363 gFont_SetString("BACK TO GAME", 200, 200);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
364 gFont_SetString("GO TO TITLE", 200, 300);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
365 } else {
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
366 gFont_SetString("Pause ...", 200, 200);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
367 }
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
368
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
369 if (pad.circle == 1) {
26
4447fd650f60 *** empty log message ***
gongo
parents: 20
diff changeset
370 if (select == 0) {
58
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
371 set_schedule_assumption(sche_game_main);
2
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
372 } else {
58
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
373 set_schedule_assumption(sche_game_main_finish);
2
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
374 }
27
618f39723403 *** empty log message ***
gongo
parents: 26
diff changeset
375 } else if (pad.st == 1) {
58
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
376 set_schedule_assumption(sche_game_main);
27
618f39723403 *** empty log message ***
gongo
parents: 26
diff changeset
377 } else if (pad.up == 1 || pad.down == 1) {
26
4447fd650f60 *** empty log message ***
gongo
parents: 20
diff changeset
378 select = !select;
2
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
379 }
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
380 }
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
381
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
382 void
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
383 sche_game_main_goal()
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
384 {
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
385 /** dispaly TOTAL TIME **/
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
386 game_time_set_raptime(raptime,time_count);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
387
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
388 gFont_SetString("TOTAL TIME",150,20);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
389 gFont_SetString(raptime,400,20);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
390 gFont_SetString("GOAL !!", 220, 150);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
391
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
392 #ifdef LINDA
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
393 if (ranking == 1)
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
394 gFont_SetString("You WIN!!", 200, 250);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
395 else
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
396 gFont_SetString("You Lose...", 200, 250);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
397 #endif
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
398
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
399 car_update(game.jiki);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
400 field_update(game.jiki);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
401 carNode_draw();
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
402 camera_update(game.jiki->body->transfer);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
403 if (pad.st == 1) {
58
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
404 set_schedule_assumption(sche_game_main_finish);
2
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
405 }
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
406 }
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
407
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
408 void
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
409 sche_game_main_finish()
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
410 {
30
7a348d9ce4ac *** empty log message ***
gongo
parents: 27
diff changeset
411 field_destroy();
7a348d9ce4ac *** empty log message ***
gongo
parents: 27
diff changeset
412 carNode_destroy();
7a348d9ce4ac *** empty log message ***
gongo
parents: 27
diff changeset
413 game_env_init();
7a348d9ce4ac *** empty log message ***
gongo
parents: 27
diff changeset
414
58
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
415 set_schedule_assumption(sche_game_main_finish2);
30
7a348d9ce4ac *** empty log message ***
gongo
parents: 27
diff changeset
416 }
7a348d9ce4ac *** empty log message ***
gongo
parents: 27
diff changeset
417
7a348d9ce4ac *** empty log message ***
gongo
parents: 27
diff changeset
418 void
7a348d9ce4ac *** empty log message ***
gongo
parents: 27
diff changeset
419 sche_game_main_finish2()
7a348d9ce4ac *** empty log message ***
gongo
parents: 27
diff changeset
420 {
2
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
421 gFont_SetString("GAME OVER ...", 200, 200);
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
422
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
423 if (pad.st == 1) {
58
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
424 set_schedule_assumption(sche_game_opening);
2
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
425 }
b6a1385f19be *** empty log message ***
gongo
parents: 0
diff changeset
426 }
3
38aedf763052 *** empty log message ***
gongo
parents: 2
diff changeset
427
38aedf763052 *** empty log message ***
gongo
parents: 2
diff changeset
428
38aedf763052 *** empty log message ***
gongo
parents: 2
diff changeset
429 void
38aedf763052 *** empty log message ***
gongo
parents: 2
diff changeset
430 schedule()
38aedf763052 *** empty log message ***
gongo
parents: 2
diff changeset
431 {
58
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
432 sche_func();
3
38aedf763052 *** empty log message ***
gongo
parents: 2
diff changeset
433
58
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
434 if (linda_update(change_state) == TRUE)
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
435 set_schedule();
1cccf6d964b7 *** empty log message ***
gongo
parents: 55
diff changeset
436
3
38aedf763052 *** empty log message ***
gongo
parents: 2
diff changeset
437 wait_sync();
38aedf763052 *** empty log message ***
gongo
parents: 2
diff changeset
438 swap_dbuff();
38aedf763052 *** empty log message ***
gongo
parents: 2
diff changeset
439 sjoy_poll();
38aedf763052 *** empty log message ***
gongo
parents: 2
diff changeset
440
38aedf763052 *** empty log message ***
gongo
parents: 2
diff changeset
441 ps2util_sprite_Draw();
38aedf763052 *** empty log message ***
gongo
parents: 2
diff changeset
442 gSprite_Draw_Reset();
38aedf763052 *** empty log message ***
gongo
parents: 2
diff changeset
443 gFont_Draw_Reset();
38aedf763052 *** empty log message ***
gongo
parents: 2
diff changeset
444 }