-
Notifications
You must be signed in to change notification settings - Fork 0
/
script.rpy
5587 lines (4297 loc) · 238 KB
/
script.rpy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
init python:
import random
import time
# remove mouse wheel from rollback (its annoying in the browser)
config.keymap['rollback'] = ['any_K_PAGEUP', 'any_KP_PAGEUP', 'K_AC_BACK']
config.keymap['rollforward'] = ['any_K_PAGEDOWN', 'any_KP_PAGEDOWN']
renpy.register_shader("game.breathing", variables="""
uniform sampler2D tex0;
uniform float u_time;
uniform float u_breath_cycle;
uniform float u_offset; // in 0 1
uniform vec2 res0;
varying vec2 v_tex_coord;
""", fragment_300="""
float scale = 0.5 + 0.5 * sin((u_offset + u_time / u_breath_cycle) * 2.0 * 3.141);
#ifndef TEXC
vec2 texC = v_tex_coord.xy;
#endif
texC.y = 1.0 - (1.0 - texC.y) * (1.0 + 0.01 * scale);
if(texC.y < 0.0 || texC.y > 1.0) discard;
gl_FragColor = texture2D(tex0, texC, -0.55);
""")
renpy.register_shader("game.animation", variables="""
uniform sampler2D tex0;
uniform sampler2D tex1;
uniform float u_time;
uniform float u_breath_cycle;
uniform float u_offset; // in 0 1
varying vec2 v_tex_coord;
""", fragment_250="""
float a = texture2D(tex1, v_tex_coord, -0.5).x;
#define TEXC
vec2 texC = v_tex_coord.xy;
float xspread = -(texC.x - 0.5) * (1.0 + sin((u_offset + u_time / u_breath_cycle) * 2.0 * 3.141)) * a * 0.04;
texC.x += xspread;
texC.y += cos((u_offset + u_time / u_breath_cycle) * 2.0 * 3.141) * a * 0.006;
gl_FragColor = texture2D(tex0, texC, -0.5);
""")
renpy.register_shader("game.wind", variables="""
uniform sampler2D tex0;
uniform sampler2D tex1;
uniform float u_time;
uniform vec2 res0;
varying vec2 v_tex_coord;
""", fragment_300="""
float a = texture2D(tex1, v_tex_coord, 0.5).x;
#define TEXC
vec2 texC = v_tex_coord.xy;
if(a > 0.0){
// original from https://github.com/bitsawer/renpy-shader/blob/master/ShaderDemo/game/shader/shadercode.py
const float FLUIDNESS = 0.75;
const float WIND_SPEED = 1.0;
const float DISTANCE = 2.0;
vec2 pixel = texC * res0; // calc in pixel coordinates to be independent for wider images
float modifier = sin(pixel.x * 0.006 + u_time) / 2.0 + 1.5;
texC.x += sin(pixel.x * 0.006 * FLUIDNESS + u_time * WIND_SPEED) * modifier * a * (DISTANCE / res0.x);
texC.y += cos(pixel.y * 0.02 * FLUIDNESS + u_time * WIND_SPEED) * a * (DISTANCE / res0.y);
}
gl_FragColor = texture2D(tex0, texC, -0.5);
""")
renpy.register_shader("game.mask2", variables="""
uniform sampler2D tex0;
uniform sampler2D tex2;
varying vec2 v_tex_coord;
""", fragment_500="""
#ifndef TEXC
vec2 texC = v_tex_coord.xy;
#endif
float alphaMask = texture2D(tex2, texC, -0.5).a;
gl_FragColor = texture2D(tex0, texC, -0.5) * alphaMask;
""")
def get_shaders_breathing(child):
if isinstance(child.target, renpy.display.im.Image):
return ["renpy.texture", "game.breathing"]
return ["renpy.texture", "game.animation", "game.breathing"]
def get_shaders_swimming(child):
if isinstance(child.target, renpy.display.im.Image):
return ["renpy.texture"]
return ["renpy.texture", "game.animation"]
def get_object_rng(obj):
if isinstance(obj, renpy.display.image.ImageReference):
return (hash(obj.name[0]) % 7919) / 7919
return 0.0
define alice = Character("Alice", color="#ADD8E6")
define rabbit = Character("Rabbit", color="#ffffff")
define mouse = Character("Mouse", color="#adadad")
define lory = Character("Lory", color="#8c00ff")
define duck = Character("Duck", color="#ff8c00")
define dodo = Character("Dodo", color="#008cff")
define eaglet = Character("Eaglet", color="#be8200")
define everyone = Character("Everyone", color="#ffffff")
define old_crab = Character("Old Crab", color="#ff8c00")
define young_crab = Character("Young Crab", color="#ff8c00")
define magpie = Character("Magpie", color="#ffffff")
define canary = Character("Canary", color="#ffe600")
define pat = Character("Pat", color="#00ff00")
define anon = Character("???", color="#ffffff")
define bill = Character("Bill", color="#b5ff9e")
define caterpillar = Character("Caterpillar", color="#5cffc9")
define pigeon = Character("Pigeon", color="#adadad")
define fishfoot = Character("Fish-Footmen", color="#9694ff")
define frogfoot = Character("Frog-Footmen", color="#b5ff9e")
define duchess = Character("Duchess", color="#ff8c00")
define cat = Character("Cheshire Cat", color="#fa6400")
define hare = Character("March Hare", color="#fa6400")
define hatter = Character("Mad Hatter", color="#00ff00")
define dormouse = Character("Dormouse", color="#ff8c00")
define two = Character("Two", color="#eee")
define five = Character("Five", color="#eee")
define seven = Character("Seven", color="#eee")
define queen = Character("Queen", color="#ff0000")
define soldiers = Character("Soldiers", color="#fff")
define king = Character("King", color="#ff0000")
define gryphon = Character("Gryphon", color="#ff8c00")
define mock = Character("Mock Turtle", color="#6cb30f")
define cook = Character("Cook", color="#ffffff")
define knave = Character("Knave", color="#ff0000")
define sister = Character("Sister", color="00ff00")
define alice_scale = 0.5
define alice_scale_large = 0.9
define rabbit_scale = 0.7
define mouse_scale = 0.5
define queen_scale = 0.65
define king_scale = 0.7
define cat_scale = 0.5
define duchess_scale = 0.52
define cam_transition = 0.5
define center_offset = 540 # half of 1080
## ANIMATED TRANSFORMS ##
## remove comment below to work with action editor
#'''
transform breathing_calm(child):
child
anchor (0.5, 1.0)
#$ shaders = ["renpy.texture", "game.animation", "game.breathing"]
shader get_shaders_breathing(child)
u_breath_cycle 6.0
u_offset get_object_rng(child)
pause 0
repeat
transform breathing(child):
child
anchor (0.5, 1.0)
shader get_shaders_breathing(child)
u_breath_cycle 5.0
u_offset get_object_rng(child)
pause 0
repeat
transform breathing_crying(child):
child
anchor (0.5, 1.0)
shader get_shaders_breathing(child)
u_offset get_object_rng(child)
#u_breath_cycle 3.5
u_breath_cycle 5.0
pause 0
repeat
transform swimming(child):
child
anchor (0.5, 1.0)
shader get_shaders_swimming(child)
u_breath_cycle 5.0
u_offset get_object_rng(child)
ease 2.0 yoffset -10
ease 2.0 yoffset 10
# TODO maybe add breathing anim.
repeat
transform windy(child):
anchor (0.5,0)
pos(0.0,0)
xoffset center_offset
child
shader ["renpy.texture", "game.wind"]
pause 0
repeat
transform windy_no_anchor(child):
child
shader ["renpy.texture", "game.wind"]
pause 0
repeat
transform windy_mask(child):
anchor (0.5,0)
pos(0.0,0)
xoffset center_offset
child
shader ["renpy.texture", "game.wind", "game.mask2"]
pause 0
repeat
# alice pictures
image alice sleepy = Model().child("alice sleepy.png", fit=True).texture("alice_mask.png")
image alice crying = Model().child("alice crying.png", fit=True).texture("alice_mask.png")
image alice excited = Model().child("alice excited.png", fit=True).texture("alice_mask.png")
image alice happy = Model().child("alice happy.png", fit=True).texture("alice_mask.png")
image alice normal = Model().child("alice normal.png", fit=True).texture("alice_mask.png")
image alice pout = Model().child("alice pout.png", fit=True).texture("alice_mask.png")
image alice surprised = Model().child("alice surprised.png", fit=True).texture("alice_mask.png")
image alice thinking = Model().child("alice thinking.png", fit=True).texture("alice_mask.png")
image alice belly = Model().child("alice belly.png", fit=True).texture("alice_belly_mask.png")
image queen normal = Model().child("queen normal.png", fit=True).texture("queen_mask.png")
image queen happy = Model().child("queen happy.png", fit=True).texture("queen_mask.png")
image king = Model().child("king.png", fit=True).texture("king_mask.png")
image king scared = Model().child("king scared.png", fit=True).texture("king_mask.png")
image rabbit normal = Model().child("rabbit normal.png", fit=True).texture("rabbit_mask.png")
image dormouse sleep = Model().child("dormouse sleep.png", fit=True).texture("dormouse_mask.png")
image dormouse tired = Model().child("dormouse tired.png", fit=True).texture("dormouse_mask.png")
image hatter = Model().child("hatter.png", fit=True).texture("hatter_mask.png")
image hare = Model().child("hare.png", fit=True).texture("hare_mask.png")
image gryphon = Model().child("gryphon.png", fit=True).texture("gryphon_mask.png")
# backgrounds
image riverbank = Model().child("riverbank.jpg", fit=True).texture("riverbank_wind.png")
image croquet = Model().child("croquet.jpg", fit=True).texture("croquet_wind.png")
image croquet_front_mask = Model().child("croquet.jpg", fit=True).texture("croquet_wind.png").texture("croquet_front.png")
image garden = Model().child("garden.jpg", fit=True).texture("garden_wind.png")
image garden_front_mask = Model().child("garden.jpg", fit=True).texture("garden_wind.png").texture("garden_front.png")
image blades = Model().child("blades.png", fit=True).texture("blades_wind.png")
image buttercup = Model().child("buttercup.png", fit=True).texture("buttercup_wind.png")
'''
# non-animated transforms (comment in for action editor)
transform breathing_calm:
anchor (0.5, 1.0)
transform breathing:
anchor (0.5, 1.0)
transform breathing_crying:
anchor (0.5, 1.0)
transform swimming:
anchor (0.5, 1.0)
ease 2.0 yoffset -10
ease 2.0 yoffset 10
repeat
transform windy:
anchor (0.5,0)
pos (0,0)
xoffset center_offset
transform windy_no_anchor:
xoffset 0 # do nothing
transform windy_mask:
anchor (0.5,0)
pos (0,0)
xoffset center_offset
#'''
# end comment out
# general transforms / lables
transform anchor:
anchor (0.5, 1.0)
label reset_camera:
camera:
perspective False
xpos 0 ypos 0 zpos 0 zoom 1.0 xoffset 0 zrotate 0
return
label start:
# select language on first start
call screen language
label chapter1:
scene black
call reset_camera
"{size=+40}Chapter I: \n{/size}Down the Rabbit-Hole"
scene riverbank at windy
play music "audio/rinne wanderer.mp3"
define alice_riverbank = -0.22
define rabbit_riverbank = 0.5
camera:
perspective True
xpos alice_riverbank xoffset -center_offset
show alice sleepy at breathing_calm:
xpos -0.22 ypos 0.9 zoom alice_scale
"Alice was beginning to get very tired of sitting by her sister on the bank, and of having nothing to do: once or twice she had peeped into the book her sister was reading, but it had no pictures or conversations in it."
camera:
ease cam_transition zpos -300
# voice "voice/alice001.mp3"
alice "(And what is the use of a book without pictures or conversations?)"
"So she was considering in her own mind (as well as she could, for the hot day made her feel very sleepy and stupid), whether the pleasure of making a daisy-chain would be worth the trouble of getting up and picking the daisies, when suddenly a White Rabbit with pink eyes ran close by her."
"There was nothing so very remarkable in that; nor did Alice think it so very much out of the way to hear the Rabbit say to itself:"
show rabbit normal at breathing:
xpos rabbit_riverbank ypos 0.9 zoom rabbit_scale
camera:
ease cam_transition xpos rabbit_riverbank ypos 400 zpos -300
rabbit "Oh dear! Oh dear! I shall be too late!"
"(When she thought it over afterwards, it occurred to her that she ought to have wondered at this, but at the time it all seemed quite natural)"
"But when the Rabbit actually took a watch out of its waistcoat-pocket, and looked at it, and then hurried on, Alice started to her feet, for it flashed across her mind that she had never before seen a rabbit with either a waistcoat-pocket, or a watch to take out of it."
show rabbit normal at breathing:
ease 1.0 xpos 1.0 ypos 2.0
show alice happy at breathing:
ease 1.0 xpos rabbit_riverbank
camera:
ease cam_transition xpos rabbit_riverbank ypos 0 zpos 0
"Burning with curiosity, she ran across the field after it, and fortunately was just in time to see it pop down a large rabbit-hole under the hedge."
show alice happy at breathing:
ease 1.0 xpos 1.0 ypos 2.0
"In another moment down went Alice after it, never once considering how in the world she was to get out again."
scene black
call reset_camera
stop music fadeout 1.0
"The rabbit-hole went straight on like a tunnel for some way."
scene well at center
play music "audio/rinne aurelia.mp3" fadeout 1.0 fadein 1.0
show alice falling:
xpos -0.5 ypos 0.0
linear 1.0 xoffset -20 yoffset -20 rotate 5
linear 1.0 xoffset 20 yoffset 20 rotate -5
linear 1.0 xoffset -20 yoffset 20 rotate 5
linear 1.0 xoffset 20 yoffset -20 rotate -5
repeat
"And then dipped suddenly down, so suddenly that Alice had not a moment to think about stopping herself before she found herself falling down a very deep well."
"Either the well was very deep, or she fell very slowly, for she had plenty of time as she went down to look about her and to wonder what was going to happen next."
"First, she tried to look down and make out what she was coming to, but it was too dark to see anything; then she looked at the sides of the well, and noticed that they were filled with cupboards and book-shelves; here and there she saw maps and pictures hung upon pegs."
hide alice
show orange marmalade at Position(ypos = 0.65)
"She took down a jar from one of the shelves as she passed; it was labelled 'ORANGE MARMALADE', but to her great disappointment it was empty: she did not like to drop the jar for fear of killing somebody underneath, so managed to put it into one of the cupboards as she fell past it."
hide orange marmalade
show alice falling:
xpos -0.5 ypos 0.0
linear 1.0 xoffset -20 yoffset -20 rotate 5
linear 1.0 xoffset 20 yoffset 20 rotate -5
linear 1.0 xoffset -20 yoffset 20 rotate 5
linear 1.0 xoffset 20 yoffset -20 rotate -5
repeat
# voice "voice/alice002.mp3"
alice "(Well! After such a fall as this, I shall think nothing of tumbling down stairs!)"
# voice "voice/alice003.mp3"
alice "(How brave they'll all think me at home!)"
# voice "voice/alice004.mp3"
alice "(Why, I wouldn’t say anything about it, even if I fell off the top of the house!)"
"(Which was very likely true)"
"Down, down, down. Would the fall never come to an end?"
# voice "voice/alice005.mp3"
alice "I wonder how many miles I've fallen by this time?"
# voice "voice/alice006.mp3"
alice "I must be getting somewhere near the centre of the earth."
# voice "voice/alice007.mp3"
alice "Let me see: that would be four thousand miles down, I think—"
"(for, you see, Alice had learnt several things of this sort in her lessons in the schoolroom, and though this was not a very good opportunity for showing off her knowledge, as there was no one to listen to her, still it was good practice to say it over)"
# voice "voice/alice008.mp3"
alice "—yes, that’s about the right distance—but then I wonder what Latitude or Longitude I’ve got to?"
"(Alice had no idea what Latitude was, or Longitude either, but thought they were nice grand words to say)"
"Presently she began again."
# voice "voice/alice009.mp3"
alice "I wonder if I shall fall right through the earth! How funny it’ll seem to come out among the people that walk with their heads downward! The Antipathies, I think—"
"(she was rather glad there was no one listening, this time, as it didn’t sound at all the right word)"
alice "—but I shall have to ask them what the name of the country is, you know. Please, Ma’am, is this New Zealand or Australia?"
"(and she tried to curtsey as she spoke—fancy curtseying as you’re falling through the air! Do you think you could manage it?)"
alice "And what an ignorant little girl she’ll think me for asking! No, it’ll never do to ask: perhaps I shall see it written up somewhere."
"Down, down, down."
"There was nothing else to do, so Alice soon began talking again."
alice "Dinah’ll miss me very much to-night, I should think!"
"(Dinah was the cat)"
alice "I hope they’ll remember her saucer of milk at tea-time. Dinah my dear! I wish you were down here with me!"
alice "There are no mice in the air, I’m afraid, but you might catch a bat, and that’s very like a mouse, you know."
alice "But do cats eat bats, I wonder?"
"And here Alice began to get rather sleepy, and went on saying to herself, in a dreamy sort of way:"
alice "Do cats eat bats? Do cats eat bats?"
"And sometimes"
alice "Do bats eat cats?"
"You see, as she couldn’t answer either question, it didn’t much matter which way she put it."
"She felt that she was dozing off, and had just begun to dream that she was walking hand in hand with Dinah, and saying to her very earnestly:"
alice "Now, Dinah, tell me the truth: did you ever eat a bat?"
stop music fadeout 1.0
scene black
play sound "sfx/thump2.mp3"
"When suddenly, thump! thump! down she came upon a heap of sticks and dry leaves, and the fall was over."
"Alice was not a bit hurt, and she jumped up on to her feet in a moment: she looked up, but it was all dark overhead."
scene passage
image passage_front_mask = AlphaMask("passage", "passage_front")
show passage_front_mask zorder 10
call reset_camera
camera:
perspective True
show rabbit normal at breathing zorder 5:
xpos 0.54 ypos 0.58 zoom 0.25
show alice happy at breathing zorder 20:
xpos 0.82 ypos 0.9 zoom alice_scale
"Before her was another long passage, and the White Rabbit was still in sight, hurrying down it."
show rabbit normal at breathing zorder 5:
ease 1.0 xpos 0.38 ypos 0.54 zoom 0.2
"There was not a moment to be lost: away went Alice like the wind, and was just in time to hear it say, as it turned a corner:"
camera:
perspective True
ease cam_transition xpos 0.14 ypos 955 zoom 2.09
rabbit "Oh my ears and whiskers, how late it's getting!"
show rabbit normal at breathing zorder 5:
ease 1.0 xpos 0.14
show alice happy at breathing zorder 20:
ease 1.0 xpos 0.52 ypos 0.58 zoom 0.2
"She was close behind it when she turned the corner, but the Rabbit was no longer to be seen."
play music "audio/rinne memories of clockwise tower.mp3" fadein 1.0
scene hall:
xalign 0.0
linear 15.0 xalign 0.5
call reset_camera
"She found herself in a long, low hall, which was lit up by a row of lamps hanging from the roof."
"There were doors all round the hall, but they were all locked; and when Alice had been all the way down one side and up the other, trying every door, she walked sadly down the middle, wondering how she was ever to get out again."
show three_legged_table_key at Position(ypos = 0.65)
"Suddenly she came upon a little three-legged table, all made of solid glass; there was nothing on it except a tiny golden key, and Alice’s first thought was that it might belong to one of the doors of the hall; but, alas! either the locks were too large, or the key was too small, but at any rate it would not open any of them."
hide three_legged_table_key
scene small_door at center
"However, on the second time round, she came upon a low curtain she had not noticed before, and behind it was a little door about fifteen inches high: she tried the little golden key in the lock, and to her great delight it fitted!"
play sound "sfx/unlock.mp3"
"Alice opened the door and found that it led into a small passage, not much larger than a rat-hole: she knelt down and looked along the passage into the loveliest garden you ever saw."
"How she longed to get out of that dark hall, and wander about among those beds of bright flowers and those cool fountains, but she could not even get her head through the doorway."
#show alice pout at breathing:
# xpos 0.5 ypos 0.9 zoom alice_scale
alice "(And even if my head would go through, it would be of very little use without my shoulders)"
alice "(Oh, how I wish I could shut up like a telescope! I think I could, if I only knew how to begin)"
"For, you see, so many out-of-the-way things had happened lately, that Alice had begun to think that very few things indeed were really impossible."
scene hall at center
camera:
perspective True
show three_legged_table_bottle at Position(ypos = 0.65)
"There seemed to be no use in waiting by the little door, so she went back to the table, half hoping she might find another key on it, or at any rate a book of rules for shutting people up like telescopes: this time she found a little bottle on it."
alice "This certainly was not here before."
"Around the neck of the bottle was a paper label, with the words 'DRINK ME' beautifully printed on it in large letters."
"It was all very well to say 'Drink me', but the wise little Alice was not going to do that in a hurry."
alice "No, I’ll look first and see whether it’s marked 'poison' or not."
"She had read several nice little histories about children who had got burnt, and eaten up by wild beasts and other unpleasant things, all because they would not remember the simple rules their friends had taught them: "
"Such as, that a red-hot poker will burn you if you hold it too long; and that if you cut your finger very deeply with a knife, it usually bleeds; and she had never forgotten that, if you drink much from a bottle marked 'poison', it is almost certain to disagree with you, sooner or later."
hide three_legged_table_bottle
play sound "sfx/cork.mp3"
show alice happy at breathing:
xpos 0.5 ypos 0.9 zoom alice_scale
"However, this bottle was not marked 'poison,' so Alice ventured to taste it, and finding it very nice, (it had, in fact, a sort of mixed flavour of cherry-tart, custard, pine-apple, roast turkey, toffee, and hot buttered toast,) she very soon finished it off."
camera:
pause 1.0
ease 8.0 zpos -500 ypos 530
show alice surprised at breathing:
ease 10.0 zoom 0.2
alice "What a curious feeling! I must be shutting up like a telescope."
"And so it was indeed: she was now only ten inches high, and her face brightened up at the thought that she was now the right size for going through the little door into that lovely garden."
"First, however, she waited for a few minutes to see if she was going to shrink any further: she felt a little nervous about this."
alice "It might end, you know, in my going out altogether, like a candle. I wonder what I should be like then?"
"And she tried to fancy what the flame of a candle is like after the candle is blown out, for she could not remember ever having seen such a thing."
"After a while, finding that nothing more happened, she decided on going into the garden at once; but, alas for poor Alice, when she got to the door, she found she had forgotten the little golden key, and when she went back to the table for it, she found she could not possibly reach it: "
show alice crying at breathing_crying:
zoom 0.2
"She could see it quite plainly through the glass, and she tried her best to climb up one of the legs of the table, but it was too slippery; and when she had tired herself out with trying, the poor little thing sat down and cried."
alice "(Come, there’s no use in crying like that!)"
show alice pout at breathing
alice "(I advise you to leave off this minute!)"
"She generally gave herself very good advice, (though she very seldom followed it), and sometimes she scolded herself so severely as to bring tears into her eyes; and once she remembered trying to box her own ears for having cheated herself in a game of croquet she was playing against herself, for this curious child was very fond of pretending to be two people."
alice "(But it’s no use now, to pretend to be two people! Why, there’s hardly enough of me left to make one respectable person!)"
#hide alice
show box_cake at Position(ypos = 0.65) onlayer screens
"Soon her eye fell on a little glass box that was lying under the table: she opened it, and found in it a very small cake, on which the words 'EAT ME' were beautifully marked in currants."
hide box_cake onlayer screens
show alice normal at breathing
alice "Well, I’ll eat it, and if it makes me grow larger, I can reach the key; and if it makes me grow smaller, I can creep under the door: so either way I’ll get into the garden, and I don’t care which happens!"
"She ate a little bit." #, and said anxiously to herself: "
show alice excited at breathing
alice "(Which way? Which way?)" # anxiously
"She was holding her hand on the top of her head to feel which way it was growing, and she was quite surprised to find that she remained the same size: to be sure, this generally happens when one eats cake, but Alice had got so much into the way of expecting nothing but out-of-the-way things to happen, that it seemed quite dull and stupid for life to go on in the common way."
"So she set to work, and very soon finished off the cake."
label chapter2:
scene black
call reset_camera
"{size=+40}Chapter II: \n{/size}The Pool of Tears"
scene hall at center
play music "audio/rinne memories of clockwise tower.mp3"
camera:
perspective True
zpos -500 ypos 530
pause 2.0
ease 10.0 zpos 0 ypos 0
show alice excited at breathing:
pos (0.5, 0.9)
zoom 0.2
easeout 10.0 zoom alice_scale_large
alice "Curiouser and curiouser!"
"(she was so much surprised, that for the moment she quite forgot how to speak good English)"
alice "Now I’m opening out like the largest telescope that ever was!"
alice "Good-bye, feet!"
"(For when she looked down at her feet, they seemed to be almost out of sight, they were getting so far off)"
alice "(Oh, my poor little feet, I wonder who will put on your shoes and stockings for you now, dears? I’m sure I shan’t be able!)"
alice "(I shall be a great deal too far off to trouble myself about you: you must manage the best way you can; —but I must be kind to them, or perhaps they won’t walk the way I want to go!)"
alice "(Let me see: I’ll give them a new pair of boots every Christmas)"
"And she went on planning to herself how she would manage it."
alice "(They must go by the carrier, and how funny it’ll seem, sending presents to one’s own feet! And how odd the directions will look!)"
"Alice’s Right Foot, Esq. \nHearthrug, \nNear the Fender, \n(with Alice’s love)\n"
alice "(Oh dear, what nonsense I’m talking!)"
play sound "sfx/bump.mp3"
"Just then, her head struck against the roof of the hall: in fact she was now rather more than nine feet high, and she at once took up the little golden key and hurried off to the garden door."
"Poor Alice! It was as much as she could do, lying down on one side, to look through into the garden with one eye; but to get through was more hopeless than ever: she sat down and began to cry again."
show alice crying at breathing_crying:
xpos 0.5 ypos 0.9 zoom alice_scale_large
alice "You ought to be ashamed of yourself, a great girl like you, to go on crying in this way! Stop this moment, I tell you!"
"But she went on all the same, shedding gallons of tears, until there was a large pool all round her, about four inches deep and reaching half down the hall."
show alice pout at breathing
"After a time she heard a little pattering of feet in the distance, and she hastily dried her eyes to see what was coming."
"It was the White Rabbit returning, splendidly dressed, with a pair of white kid gloves in one hand and a large fan in the other:"
"He came trotting along in a great hurry, muttering to himself as he came:"
show rabbit normal at breathing:
xpos 1.5 ypos 0.9 zoom 0.5
ease 1.0 xpos 0.84
camera:
ease cam_transition xpos 355 ypos 385 zpos -365
rabbit "Oh! the Duchess, the Duchess! Oh! won’t she be savage if I’ve kept her waiting!"
"Alice felt so desperate that she was ready to ask help of any one; so, when the Rabbit came near her, she began, in a low, timid voice:"
camera:
ease cam_transition xpos 0 ypos 0 zpos 0
show alice pout at breathing
alice "If you please, sir—"
# hide alice
show fan gloves at Position(ypos = 0.65) onlayer screens
show rabbit normal at breathing:
xzoom -1.0
ease 0.5 xpos 1.5
"The Rabbit started violently, dropped the white kid gloves and the fan, and skurried away into the darkness as hard as he could go."
"Alice took up the fan and gloves, and, as the hall was very hot, she kept fanning herself all the time she went on talking:"
hide fan gloves onlayer screens
hide rabbit
show alice pout at breathing
alice "Dear, dear! How queer everything is to-day! And yesterday things went on just as usual."
alice "I wonder if I’ve been changed in the night? Let me think:"
alice "Was I the same when I got up this morning? I almost think I can remember feeling a little different."
alice "But if I’m not the same, the next question is, Who in the world am I? Ah, that’s the great puzzle!"
"And she began thinking over all the children she knew that were of the same age as herself, to see if she could have been changed for any of them."
alice "I’m sure I’m not Ada, for her hair goes in such long ringlets, and mine doesn’t go in ringlets at all; and I’m sure I can’t be Mabel, for I know all sorts of things, and she, oh! she knows such a very little! Besides, she’s she, and I’m I, and—oh dear, how puzzling it all is!"
alice "I’ll try if I know all the things I used to know. Let me see: four times five is twelve, and four times six is thirteen, and four times seven is—oh dear! I shall never get to twenty at that rate!"
alice "However, the Multiplication Table doesn’t signify: let’s try Geography. London is the capital of Paris, and Paris is the capital of Rome, and Rome—no, that’s all wrong, I’m certain!"
alice "I must have been changed for Mabel! I’ll try and say 'How doth the little—'"
"And she crossed her hands on her lap as if she were saying lessons, and began to repeat it, but her voice sounded hoarse and strange, and the words did not come the same as they used to do:"
alice "How doth the little crocodile\n{space=30}Improve his shining tail,\nAnd pour the waters of the Nile\n{space=30}On every golden scale!"
alice "How cheerfully he seems to grin,\n{space=30}How neatly spread his claws,\nAnd welcome little fishes in\n{space=30}With gently smiling jaws!"
show alice crying at breathing_crying
alice "I’m sure those are not the right words."
alice "I must be Mabel after all, and I shall have to go and live in that poky little house, and have next to no toys to play with, and oh!"
alice "Ever so many lessons to learn! No, I’ve made up my mind about it; if I’m Mabel, I’ll stay down here!"
alice "It’ll be no use their putting their heads down and saying 'Come up again, dear!' I shall only look up and say 'Who am I then?'"
alice "'Tell me that first, and then, if I like being that person, I’ll come up: if not, I’ll stay down here till I’m somebody else' —but, oh dear!"
alice "I do wish they would put their heads down! I am so very tired of being all alone here!"
show alice thinking at breathing:
pos (0.5, 0.9)
zoom alice_scale_large
easein 20.0 zoom alice_scale
"As she said this she looked down at her hands, and was surprised to see that she had put on one of the Rabbit’s little white kid gloves while she was talking."
alice "How can I have done that?"
alice "I must be growing small again."
"She got up and went to the table to measure herself by it, and found that, as nearly as she could guess, she was now about two feet high, and was going on shrinking rapidly:"
"She soon found out that the cause of this was the fan she was holding, and she dropped it hastily, just in time to avoid shrinking away altogether."
show alice happy at breathing
alice "That was a narrow escape!"
"She was a good deal frightened at the sudden change, but very glad to find herself still in existence."
alice "And now for the garden!"
"And she ran with all speed back to the little door: but, alas! the little door was shut again, and the little golden key was lying on the glass table as before."
show alice pout at breathing
alice "And things are worse than ever, for I never was so small as this before, never! And I declare it’s too bad, that it is!"
stop music fadeout 1.0
play sound "sfx/splash.mp3"
"As she said these words her foot slipped, and in another moment, splash!"
show waves zorder 0:
pos (0.5, 1.0)
anchor (0.5, 1.0)
linear 1.0 yoffset 20
linear 1.0 yoffset 10
repeat
show wavestop zorder 99:
pos (0.5, 1.0)
anchor (0.5, 1.0)
linear 1.0 yoffset 20
linear 1.0 yoffset 10
repeat
show alice pout zorder 1 at swimming:
xpos 0.5 ypos 1.0 zoom alice_scale
play music "audio/rinne beyond the sea.mp3"
"She was up to her chin in salt water."
show alice thinking at breathing
"Her first idea was that she had somehow fallen into the sea."
alice "(And in that case I can go back by railway)"
"(Alice had been to the seaside once in her life, and had come to the general conclusion, that wherever you go to on the English coast you find a number of bathing machines in the sea, some children digging in the sand with wooden spades, then a row of lodging houses, and behind them a railway station)"
"However, she soon made out that she was in the pool of tears which she had wept when she was nine feet high."
show alice pout at breathing
alice "I wish I hadn’t cried so much!"
"She swam about, trying to find her way out."
alice "I shall be punished for it now, I suppose, by being drowned in my own tears! That will be a queer thing, to be sure! However, everything is queer to-day."
show alice thinking at breathing
play sound "sfx/splash.mp3"
"Just then she heard something splashing about in the pool a little way off, and she swam nearer to make out what it was:"
show alice thinking at swimming:
ease 1.0 xpos 0.3
show mouse zorder 1 at swimming:
xpos 1.6 ypos 0.8 zoom mouse_scale
ease 2.0 xpos 0.7
"At first she thought it must be a walrus or hippopotamus, but then she remembered how small she was now, and she soon made out that it was only a mouse that had slipped in like herself."
alice "Would it be of any use, now, to speak to this mouse?"
alice "Everything is so out-of-the-way down here, that I should think very likely it can talk: at any rate, there’s no harm in trying."
"So she began:"
show alice normal at breathing
alice "O Mouse, do you know the way out of this pool? I am very tired of swimming about here, O Mouse!"
"(Alice thought this must be the right way of speaking to a mouse: she had never done such a thing before, but she remembered having seen in her brother’s Latin Grammar, 'A mouse—of a mouse—to a mouse—a mouse—O mouse!')"
"The Mouse looked at her rather inquisitively, and seemed to her to wink with one of its little eyes, but it said nothing."
show alice thinking at breathing
alice "Perhaps it doesn’t understand English, I daresay it’s a French mouse, come over with William the Conqueror."
"(For, with all her knowledge of history, Alice had no very clear notion how long ago anything had happened)"
"So she began again:"
show alice normal at breathing
alice "Où est ma chatte?"
"Which was the first sentence in her French lesson-book."
"The mouse gave a sudden leap out of the water, and seemed to quiver all over with fright."
show alice thinking at breathing
alice "Oh, I beg your pardon!"
"She was afraid that she had hurt the poor animal’s feelings."
alice "I quite forgot you didn’t like cats."
mouse "Not like cats!"
mouse "Would you like cats if you were me?"
alice "Well, perhaps not, don’t be angry about it."
show alice happy at breathing
alice "And yet I wish I could show you our cat Dinah: I think you’d take a fancy to cats if you could only see her."
alice "She is such a dear quiet thing."
"Alice went on, half to herself, as she swam lazily about in the pool."
alice "And she sits purring so nicely by the fire, licking her paws and washing her face—and she is such a nice soft thing to nurse—and she’s such a capital one for catching mice—oh, I beg your pardon!"
"This time the Mouse was bristling all over, and she felt certain it must be really offended."
show alice thinking at breathing
alice "We won’t talk about her any more if you’d rather not."
mouse "We indeed!"
"The mouse was trembling down to the end of its tail."
mouse "As if I would talk on such a subject! Our family always hated cats: nasty, low, vulgar things! Don’t let me hear the name again!"
show alice normal at breathing
alice "I won’t indeed!"
"Alice was in a great hurry to change the subject of conversation."
alice "Are you—are you fond—of—of dogs?"
"The mouse did not answer, so Alice went on eagerly:"
alice "There is such a nice little dog near our house I should like to show you!"
alice "A little bright-eyed terrier, you know, with oh, such long curly brown hair!"
alice "And it’ll fetch things when you throw them, and it’ll sit up and beg for its dinner, and all sorts of things—I can’t remember half of them—and it belongs to a farmer, you know, and he says it’s so useful, it’s worth a hundred pounds!"
alice "He says it kills all the rats and—oh dear!"
show alice crying at breathing
"Alice cried in a sorrowful tone."
alice "I’m afraid I’ve offended it again!"
show mouse at swimming:
linear 10.0 xoffset 1000
"For the Mouse was swimming away from her as hard as it could go, and making quite a commotion in the pool as it went."
alice "Mouse dear! Do come back again, and we won’t talk about cats or dogs either, if you don’t like them!"
show alice normal at breathing
show mouse at swimming:
linear 10.0 xoffset 0
"When the Mouse heard this, it turned round and swam slowly back to her: its face was quite pale (with passion, Alice thought), and it said in a low trembling voice:"
mouse "Let us get to the shore, and then I’ll tell you my history, and you’ll understand why it is I hate cats and dogs."
"It was high time to go, for the pool was getting quite crowded with the birds and animals that had fallen into it: there were a Duck and a Dodo, a Lory and an Eaglet, and several other curious creatures."
stop music fadeout 1.0
"Alice led the way, and the whole party swam to the shore."
label chapter3:
scene black
call reset_camera
"{size=+40}Chapter III: \n{/size}A Caucus-Race and a Long Tale"
scene muddy:
xpos 0
# show all characters
define muddy_eaglet_pos = 1104
define muddy_eaglet_cam_pos = 1054
define muddy_lory_pos = 540
define muddy_duck_pos = 822
define muddy_dodo_pos = 1950
define muddy_dodo_cam_pos = 1820
define muddy_alice_pos = 1386
define muddy_mouse_pos = 1668
define muddy_old_crab_pos = 2232
define muddy_young_crab_pos = 2514
define muddy_magpie_pos = 2796
define muddy_magpie_cam_pos = 2761
define muddy_canary_pos = 3078
define muddy_canary_cam_pos = 3071
define alice_scale_muddy = 0.4
define mouse_muddy_scale = 0.3
define lory_scale = 0.3
define duck_scale = 0.4
define dodo_scale = 0.7
define eaglet_scale = 0.45
define old_crab_scale = 0.3
define young_crab_scale = 0.2
define magpie_scale = 0.35
define canary_scale = 0.2
jump ch3_start
label ch3_setup:
show eaglet at breathing:
xpos muddy_eaglet_pos ypos 0.7 zoom eaglet_scale
show lory at breathing:
xpos muddy_lory_pos ypos 0.7 zoom lory_scale
show duck at breathing:
xpos muddy_duck_pos ypos 0.7 zoom duck_scale
show dodo at breathing:
xpos muddy_dodo_pos ypos 0.7 zoom dodo_scale
show alice normal at breathing:
xpos muddy_alice_pos ypos 0.7 zoom alice_scale_muddy
show mouse at breathing:
xpos muddy_mouse_pos ypos 0.7 zoom mouse_muddy_scale
show old_crab at breathing:
xpos muddy_old_crab_pos ypos 0.7 zoom old_crab_scale
show young_crab at breathing:
xpos muddy_young_crab_pos ypos 0.7 zoom young_crab_scale
show magpie at breathing:
xpos muddy_magpie_pos ypos 0.7 zoom magpie_scale
show canary at breathing:
xpos muddy_canary_pos ypos 0.7 zoom canary_scale
return
label ch3_start:
call ch3_setup
camera:
perspective True
xpos center_offset xoffset -center_offset
linear 20.0 xpos 2280
play music "audio/rinne oak general store.mp3"
"They were indeed a queer-looking party that assembled on the bank—the birds with draggled feathers, the animals with their fur clinging close to them, and all dripping wet, cross, and uncomfortable."
"The first question of course was, how to get dry again: they had a consultation about this, and after a few minutes it seemed quite natural to Alice to find herself talking familiarly with them, as if she had known them all her life."
"Indeed, she had quite a long argument with the Lory, who at last turned sulky, and would only say:"
define muddy_lory_ypos = 220
camera:
ease cam_transition xpos muddy_lory_pos zpos -500 ypos muddy_lory_ypos
lory "I am older than you, and must know better."
"And this Alice would not allow without knowing how old it was, and, as the Lory positively refused to tell its age, there was no more to be said."
camera:
ease cam_transition xpos muddy_mouse_pos zpos -500 ypos muddy_lory_ypos
"At last the Mouse, who seemed to be a person of authority among them, called out:"
mouse "Sit down, all of you, and listen to me! I’ll soon make you dry enough!"
"They all sat down at once, in a large ring, with the Mouse in the middle."
"Alice kept her eyes anxiously fixed on it, for she felt sure she would catch a bad cold if she did not get dry very soon."
mouse "Ahem!"
mouse "Are you all ready? This is the driest thing I know."
mouse "Silence all round, if you please!"
mouse "'William the Conqueror, whose cause was favoured by the pope, was soon submitted to by the English, who wanted leaders, and had been of late much accustomed to usurpation and conquest."
mouse "Edwin and Morcar, the earls of Mercia and Northumbria—'"
camera:
ease cam_transition xpos muddy_lory_pos zpos -500 ypos muddy_lory_ypos
lory "Ugh!"
camera:
ease cam_transition xpos muddy_mouse_pos zpos -500 ypos muddy_lory_ypos
mouse "I beg your pardon!"
mouse "Did you speak?"
camera:
ease cam_transition xpos muddy_lory_pos zpos -500 ypos muddy_lory_ypos
lory "Not I!"
camera:
ease cam_transition xpos muddy_mouse_pos zpos -500 ypos muddy_lory_ypos
mouse "I thought you did, —I proceed."
mouse "'Edwin and Morcar, the earls of Mercia and Northumbria, declared for him: and even Stigand, the patriotic archbishop of Canterbury, found it advisable—'"
camera:
ease cam_transition xpos muddy_duck_pos zpos -500 ypos 160
duck "Found what?"
camera:
ease cam_transition xpos muddy_mouse_pos zpos -500 ypos 220
mouse "Found it, of course you know what 'it' means."
camera:
ease cam_transition xpos muddy_duck_pos zpos -500 ypos 160
duck "I know what 'it' means well enough, when I find a thing, it’s generally a frog or a worm. The question is, what did the archbishop find?"
camera:
ease cam_transition xpos muddy_mouse_pos zpos -500 ypos 220
"The Mouse did not notice this question, but hurriedly went on."
mouse "'—found it advisable to go with Edgar Atheling to meet William and offer him the crown. William’s conduct at first was moderate. But the insolence of his Normans—'"
"It continued, turning to Alice as it spoke."
mouse "How are you getting on now, my dear?"
camera:
ease cam_transition xpos muddy_alice_pos zpos -425 ypos -130
show alice pout at breathing
alice "As wet as ever, it doesn’t seem to dry me at all."
camera:
ease cam_transition xpos muddy_dodo_cam_pos zpos -450 ypos -130
dodo "In that case, I move that the meeting adjourn, for the immediate adoption of more energetic remedies—"
camera:
ease cam_transition xpos muddy_eaglet_cam_pos zpos -510 ypos -50
eaglet "Speak English! I don’t know the meaning of half those long words, and, what’s more, I don’t believe you do either!"
"And the Eaglet bent down its head to hide a smile: some of the other birds tittered audibly."
camera:
ease cam_transition xpos muddy_dodo_cam_pos zpos -450 ypos -130
dodo "What I was going to say, was that the best thing to get us dry would be a Caucus-race."
"..."
camera:
ease cam_transition xpos muddy_alice_pos zpos -425 ypos -130
show alice thinking at breathing
alice "What is a Caucus-race?"
"Not that she wanted much to know, but the Dodo had paused as if it thought that somebody ought to speak, and no one else seemed inclined to say anything."
camera:
ease cam_transition xpos muddy_dodo_cam_pos zpos -450 ypos -130
dodo "Why, the best way to explain it is to do it."
"(And, as you might like to try the thing yourself, some winter day, I will tell you how the Dodo managed it)"
show racetrack at Position(ypos = 0.65) onlayer screens
"First it marked out a race-course, in a sort of circle."
dodo "The exact shape doesn’t matter."
hide racetrack onlayer screens
camera:
ease cam_transition xpos 1805 zpos -135 ypos -130
# place party members randomly
show alice normal at breathing:
ease cam_transition xpos 2000
show mouse:
ease cam_transition xpos 1900
show duck:
ease cam_transition xpos 2200
show old_crab:
ease cam_transition xpos 2100
show young_crab:
ease cam_transition xpos 2150
"And then all the party were placed along the course, here and there."
show alice happy at breathing:
ease 2.0 xoffset -1000
ease 2.0 xoffset 0
repeat
show mouse:
ease 1.6 xoffset -900
ease 1.6 xoffset 0
repeat
show duck:
xzoom -1.0
ease 1.7 xoffset -1300
xzoom 1.0
ease 1.7 xoffset 0
repeat
show old_crab:
ease 2.2 xoffset -1200
ease 2.2 xoffset 0
repeat
show young_crab:
ease 1.5 xoffset -1200
ease 1.5 xoffset 0
repeat
show dodo:
xzoom 1.0
ease 2.5 xoffset -800
xzoom -1.0
ease 2.5 xoffset 0