1 |
# |
2 |
# dreamlab_cutscene.bsl |
3 |
# |
4 |
|
5 |
func void stop_xtr2_in_15(void) |
6 |
{ |
7 |
sleep 720 |
8 |
sound_music_stop mus_xtr2 |
9 |
} |
10 |
|
11 |
|
12 |
func void |
13 |
intro( |
14 |
void) |
15 |
{ |
16 |
fade_out 0 0 0 0 |
17 |
obj_create 131 132 |
18 |
cm_interpolate IntroCamOpen 0 |
19 |
sleep f14 |
20 |
begin_cutscene |
21 |
env_show 231 0 |
22 |
env_show 232 0 |
23 |
sleep f90 |
24 |
chr_envanim 0 IntroKonBox01 norotation |
25 |
chr_animate 0 KONOKOlev13_Sit 8000 |
26 |
cm_interpolate IntroCamOpen 0 |
27 |
fade_in 120 |
28 |
sleep f180 |
29 |
#Konoko opens up laptop |
30 |
cm_anim both IntroCamOpen |
31 |
sound_dialog_play c12_42_01konoko |
32 |
|
33 |
sound_music_start atm_cl16 0.75 |
34 |
|
35 |
sleep f285 |
36 |
chr_envanim 0 IntroKonBox01 norotation |
37 |
chr_animate 0 KONOKOlev13_Open |
38 |
env_anim 131 132 |
39 |
#Konoko puts in disk |
40 |
cm_wait |
41 |
obj_create 481 481 |
42 |
cm_anim both IntroCamDisk |
43 |
chr_envanim 0 IntroKonBox01 norotation |
44 |
chr_animate 0 KONOKOlev13_Disk |
45 |
env_anim 481 481 |
46 |
sleep f83 |
47 |
obj_kill 481 481 |
48 |
cm_wait |
49 |
#Konoko reads |
50 |
chr_envanim 0 IntroKonBox01 norotation |
51 |
chr_animate 0 KONOKOlev13_Sit 8000 |
52 |
cm_anim both ImageCam01 |
53 |
sound_dialog_play c12_43_01hasegawa |
54 |
sleep f120 |
55 |
obj_create 101 107 |
56 |
env_anim 101 101 |
57 |
sleep f60 |
58 |
fadefog |
59 |
sound_dialog_play_block pause |
60 |
sound_dialog_play c12_43_02hasegawa |
61 |
sound_dialog_play_block pause |
62 |
sleep f15 |
63 |
sound_dialog_play c12_43_03hasegawa |
64 |
env_anim 102 102 |
65 |
sound_dialog_play_block pause |
66 |
sleep f15 |
67 |
sound_dialog_play c12_43_04hasegawa |
68 |
env_anim 103 103 |
69 |
obj_kill 101 101 |
70 |
sound_dialog_play_block pause |
71 |
sleep f15 |
72 |
sound_dialog_play c12_43_05hasegawa |
73 |
sound_dialog_play_block pause |
74 |
chr_envanim 0 IntroKonBox01 norotation |
75 |
chr_animate 0 KONOKOlev13_Sit 8000 |
76 |
env_anim 104 104 |
77 |
sleep f90 |
78 |
sound_dialog_play c12_43_06hasegawa |
79 |
sound_dialog_play_block pause |
80 |
sleep f60 |
81 |
sound_dialog_play c12_43_07hasegawa |
82 |
|
83 |
sound_music_volume atm_cl16 0.0 6.0 |
84 |
sound_music_start atm_cl05 0.1 |
85 |
sound_music_volume atm_cl05 0.5 6.0 |
86 |
|
87 |
obj_kill 102 102 |
88 |
sound_dialog_play_block pause |
89 |
sleep f15 |
90 |
env_anim 105 105 |
91 |
sleep f50 |
92 |
sound_dialog_play c12_43_08hasegawa |
93 |
obj_kill 103 103 |
94 |
sound_dialog_play_block pause |
95 |
sleep f45 |
96 |
sound_dialog_play c12_43_09hasegawa |
97 |
env_anim 106 106 |
98 |
obj_kill 104 104 |
99 |
sound_dialog_play_block pause |
100 |
sleep f60 |
101 |
sound_dialog_play c12_43_10hasegawa |
102 |
env_anim 107 107 |
103 |
obj_kill 105 105 |
104 |
sound_dialog_play_block pause |
105 |
sleep f120 |
106 |
#put gunshot and sobbing in here |
107 |
|
108 |
sound_ambient_start gunshot |
109 |
sound_music_stop atm_cl16 |
110 |
sound_music_volume atm_cl05 0.0 0.25 |
111 |
|
112 |
sleep 120 |
113 |
|
114 |
sound_music_stop atm_cl05 |
115 |
sound_music_start mus_xtr2 0.6 |
116 |
|
117 |
sleep 120 |
118 |
#sound_dialog_play hasegawa_cry |
119 |
#sound_dialog_play_block pause |
120 |
#sleep f90 |
121 |
#Konoko reads more |
122 |
chr_envanim 0 IntroKonBox01 norotation |
123 |
chr_animate 0 KONOKOlev13_Sit 8000 |
124 |
cm_interpolate IntroCamHighLeft 0 |
125 |
cm_interpolate_block IntroCamHighRight 1000 |
126 |
fork stop_xtr2_in_15 |
127 |
sound_dialog_play c12_43_11hasegawa |
128 |
sound_dialog_play_block pause |
129 |
#camera pans to see wall missing and Konoko looks up |
130 |
env_show 200 0 |
131 |
env_show 227 0 |
132 |
env_show 201 0 |
133 |
env_show 999 0 |
134 |
chr_envanim 0 IntroKonBox01 norotation |
135 |
chr_animate 0 KONOKOlev13_Sit 8000 |
136 |
cm_interpolate IntroCamLowLeft 0 |
137 |
obj_kill 106 106 |
138 |
obj_kill 107 107 |
139 |
gl_fog_end=1 |
140 |
gl_fog_start=.975 |
141 |
cm_interpolate_block IntroCamLook 800 |
142 |
sound_dialog_play c12_44_01konoko |
143 |
|
144 |
particle fog_floor1 do start |
145 |
|
146 |
sleep f360 |
147 |
|
148 |
ai2_spawn IntroMuro |
149 |
chr_lock_active IntroMuro |
150 |
ai2_passive IntroMuro 1 |
151 |
playback IntroMuro IntroMuroEnter |
152 |
chr_nocollision IntroMuro 1 |
153 |
sound_dialog_play_block pause |
154 |
cinematic_start (MUROevilgrin, 180, 180, 15, 1, 20, false) |
155 |
|
156 |
sound_music_start mus_om01 .75 |
157 |
|
158 |
sound_dialog_play c12_44_02muro |
159 |
chr_animate 0 KONOKOlev13_Look |
160 |
sleep f75 |
161 |
#Konoko gets up |
162 |
chr_envanim 0 IntroKonBox02 norotation |
163 |
chr_animate 0 KONOKOlev13_Getup |
164 |
cm_anim both IntroCamGetup |
165 |
sound_dialog_play_block pause |
166 |
sleep f60 |
167 |
sound_dialog_play c12_44_03konoko |
168 |
cinematic_start (KONlistening, 180, 180, 20, 9, 20, true) |
169 |
cm_wait |
170 |
#Camera pans to show Konoko from behind |
171 |
env_show 231 1 |
172 |
env_show 232 1 |
173 |
obj_kill 131 132 |
174 |
playback 0 IntroKonokoSet |
175 |
cm_interpolate IntroCamDoor01 0 |
176 |
cm_interpolate_block IntroCamDoor02 180 |
177 |
sound_dialog_play_block pause |
178 |
sound_dialog_play c12_44_04muro |
179 |
sleep f240 |
180 |
cinematic_stop (KONlistening, 20, 20) |
181 |
cinematic_stop (MUROevilgrin, 15, 20) |
182 |
#gameplay resumes |
183 |
cm_reset |
184 |
end_cutscene |
185 |
ai2_passive IntroMuro 1 |
186 |
chr_nocollision IntroMuro 0 |
187 |
|
188 |
save_point_1 |
189 |
} |
190 |
|
191 |
|
192 |
|
193 |
func void |
194 |
murodeath( |
195 |
void) |
196 |
{ |
197 |
dprint WE_KILLED_MURO |
198 |
|
199 |
env_show 999 0 |
200 |
env_show 1010 0 |
201 |
gs_farclipplane_set 2000 |
202 |
|
203 |
# ensure that muro doesn't get knocked out of his "death" anim |
204 |
chr_unstoppable IntroMuro 1 |
205 |
|
206 |
chr_animate IntroMuro COMCOMlev13_death 120 |
207 |
gl_fog_start_changeto .995 30 |
208 |
sleep f24 |
209 |
chr_delete IntroMuro |
210 |
|
211 |
sound_music_volume mus_om01 0.0 1.0 |
212 |
sound_music_start atm_gr09 0.75 |
213 |
|
214 |
objective_set(1) |
215 |
|
216 |
sleep 60 |
217 |
sound_music_stop mus_om01 |
218 |
} |
219 |
|
220 |
|
221 |
func void |
222 |
griffindeath( |
223 |
void) |
224 |
{ |
225 |
# ensure that griffin doesn't get knocked out of his "death" anim |
226 |
chr_unstoppable griffin 1 |
227 |
|
228 |
chr_animate griffin COMCOMlev13_death 120 |
229 |
sleep f20 |
230 |
chr_delete griffin |
231 |
door_unlock 3 |
232 |
} |
233 |
|
234 |
func void |
235 |
fadefog( |
236 |
void) |
237 |
{ |
238 |
gl_fog_start_changeto .8 45 |
239 |
} |
240 |
|
241 |
|
242 |
func void |
243 |
murofog( |
244 |
void) |
245 |
{ |
246 |
ai2_passive IntroMuro 0 |
247 |
env_show 201 1 |
248 |
env_show 999 1 |
249 |
env_show 250 0 |
250 |
env_show 252 0 |
251 |
gl_fog_start_changeto .95 12 |
252 |
sleep f12 |
253 |
gs_farclipplane_set 75 |
254 |
} |
255 |
|
256 |
|
257 |
|
258 |
|
259 |
|
260 |
func void |
261 |
Griffin01( |
262 |
void) |
263 |
{ |
264 |
begin_cutscene |
265 |
door_lock 2 |
266 |
chr_lock_active griffin |
267 |
playback griffin GrifGriffinSet |
268 |
cm_interpolate GrifCamGriffin 200 |
269 |
#griffin talks |
270 |
sleep f120 |
271 |
sound_dialog_play c12_45_01griffin |
272 |
cinematic_start (GRIFtalkangry, 180, 180, 16, 3, 20, true) |
273 |
playback 0 GrifKonokoSet |
274 |
sound_dialog_play_block pause |
275 |
cm_interpolate GrifCamKonoko01 0 |
276 |
cm_interpolate_block GrifCamKonoko02 800 |
277 |
sound_dialog_play c12_45_02konoko |
278 |
cinematic_start (KONintense, 180, 180, 19, 7, 20, true) |
279 |
sound_dialog_play_block pause |
280 |
sound_dialog_play c12_45_03griffin |
281 |
sound_dialog_play_block pause |
282 |
cm_interpolate GrifCamBoth01 0 |
283 |
cm_interpolate_block GrifCamBoth02 800 |
284 |
sound_dialog_play c12_45_04konoko |
285 |
sound_dialog_play_block pause |
286 |
sound_dialog_play c12_45_05griffin |
287 |
sound_dialog_play_block pause |
288 |
cinematic_stop (KONintense, 20, 20) |
289 |
cinematic_stop (GRIFtalkangry, 15, 20) |
290 |
cm_reset |
291 |
end_cutscene |
292 |
save_point_2 |
293 |
} |
294 |
|
295 |
func void |
296 |
Konoko01( |
297 |
void) |
298 |
{ |
299 |
begin_cutscene weapon |
300 |
chr_lock_active evilkonoko |
301 |
playback evilkonoko KonKonoko01Set |
302 |
cm_interpolate KonCamKon01 200 |
303 |
#griffin talks |
304 |
sleep f120 |
305 |
sound_dialog_play c12_46_01badasskon |
306 |
cinematic_start (KONevil, 180, 180, 15, 1, 20, true) |
307 |
playback 0 KonKonokoSet |
308 |
sound_dialog_play_block pause |
309 |
cm_interpolate KonCamBoth01 0 |
310 |
cm_interpolate_block KonCamBoth02 1000 |
311 |
sound_dialog_play c12_46_02konoko |
312 |
cinematic_start (KONintense, 180, 180, 20, 9, 20, true) |
313 |
sound_dialog_play_block pause |
314 |
sound_dialog_play c12_46_03badasskon |
315 |
sound_dialog_play_block pause |
316 |
sound_dialog_play c12_46_04konoko |
317 |
sound_dialog_play_block pause |
318 |
sound_dialog_play c12_46_05badasskon |
319 |
sound_dialog_play_block pause |
320 |
sound_dialog_play c12_46_06konoko |
321 |
sound_dialog_play_block pause |
322 |
sound_dialog_play c12_46_07badasskon |
323 |
cinematic_stop (KONintense, 20, 20) |
324 |
sound_dialog_play_block pause |
325 |
cinematic_stop (KONevil, 15, 20) |
326 |
cm_reset |
327 |
chr_animate evilkonoko KONOKOpowerup 0 |
328 |
chr_set_health evilkonoko 400 |
329 |
sleep f245 |
330 |
end_cutscene |
331 |
env_show 250 1 |
332 |
env_show 252 1 |
333 |
} |
334 |
|
335 |
func void |
336 |
Konoko02( |
337 |
void) |
338 |
{ |
339 |
begin_cutscene |
340 |
chr_lock_active evilkonoko |
341 |
playback evilkonoko Kon2Konoko02Set |
342 |
cm_interpolate Kon2CamKon201 140 |
343 |
sleep f120 |
344 |
cm_interpolate Kon2CamKon202 180 |
345 |
#griffin talks |
346 |
sleep f120 |
347 |
sound_dialog_play c12_46_01badasskon |
348 |
cinematic_start (KONevil, 180, 180, 15, 1, 20, true) |
349 |
playback 0 Kon2KonokoSet |
350 |
sound_dialog_play_block pause |
351 |
cm_interpolate Kon2Both01 0 |
352 |
cm_interpolate_block Kon2Both02 1000 |
353 |
sound_dialog_play c12_46_02konoko |
354 |
cinematic_start (KONintense, 180, 180, 20, 9, 20, true) |
355 |
sound_dialog_play_block pause |
356 |
sound_dialog_play c12_46_03badasskon |
357 |
sound_dialog_play_block pause |
358 |
sound_dialog_play c12_46_04konoko |
359 |
sound_dialog_play_block pause |
360 |
sound_dialog_play c12_46_05badasskon |
361 |
sound_dialog_play_block pause |
362 |
sound_dialog_play c12_46_06konoko |
363 |
sound_dialog_play_block pause |
364 |
sound_dialog_play c12_46_07badasskon |
365 |
cinematic_stop (KONintense, 20, 20) |
366 |
sound_dialog_play_block pause |
367 |
cinematic_stop (KONevil, 15, 20) |
368 |
cm_reset |
369 |
chr_animate evilkonoko KONOKOpowerup 0 |
370 |
chr_set_health evilkonoko 400 |
371 |
sleep f245 |
372 |
end_cutscene |
373 |
} |
374 |
|
375 |
|
376 |
func void |
377 |
Griffin02( |
378 |
void) |
379 |
{ |
380 |
begin_cutscene |
381 |
chr_lock_active griffin_2 |
382 |
playback griffin_2 Grif2GrifSet |
383 |
cm_interpolate Kon2CamKon201 140 |
384 |
sleep f120 |
385 |
cm_interpolate Kon2CamKon202 180 |
386 |
#griffin talks |
387 |
sleep f120 |
388 |
sound_dialog_play c12_45_01griffin |
389 |
cinematic_start (GRIFtalkangry, 180, 180, 15, 1, 20, true) |
390 |
playback 0 Kon2KonokoSet |
391 |
sound_dialog_play_block pause |
392 |
cm_interpolate Kon2Both01 0 |
393 |
cm_interpolate_block Kon2Both02 1000 |
394 |
sound_dialog_play c12_45_02konoko |
395 |
cinematic_start (KONintense, 180, 180, 20, 9, 20, true) |
396 |
sound_dialog_play_block pause |
397 |
sound_dialog_play c12_45_03griffin |
398 |
sound_dialog_play_block pause |
399 |
sound_dialog_play c12_45_04konoko |
400 |
sound_dialog_play_block pause |
401 |
sound_dialog_play c12_45_05griffin |
402 |
sound_dialog_play_block pause |
403 |
cinematic_stop (KONintense, 20, 20) |
404 |
cinematic_stop (GRIFtalkangry, 15, 20) |
405 |
cm_reset |
406 |
end_cutscene |
407 |
} |
408 |
|
409 |
|
410 |
func void delay_then_play_wakeup(void) |
411 |
{ |
412 |
sleep 5 |
413 |
sound_impulse_play konoko_wakeup |
414 |
|
415 |
} |
416 |
|
417 |
func void |
418 |
outro( |
419 |
void) |
420 |
{ |
421 |
begin_cutscene |
422 |
env_show 252 1 |
423 |
env_show 250 1 |
424 |
env_show 200 1 |
425 |
env_show 227 1 |
426 |
env_show 231 0 |
427 |
env_show 232 0 |
428 |
fade_out 0 0 0 10 |
429 |
sleep f10 |
430 |
delay_then_play_wakeup |
431 |
ai2_spawn outro_konoko |
432 |
chr_envanim outro_konoko OutroKonBox01 norotation |
433 |
chr_animate outro_konoko KONOKOlev13_outro |
434 |
cm_anim both OutroCam01 |
435 |
fade_in 5 |
436 |
sleep f240 |
437 |
fade_out 0 0 0 60 |
438 |
sleep 90 |
439 |
end_cutscene |
440 |
win |
441 |
} |