From http://www.jwz.org/xscreensaver/xscreensaver-5.39.tar.gz
[xscreensaver] / hacks / bubbles-default.c
1 /* bubbles_default.c - pick images for bubbles.c
2  * By Jamie Zawinski <jwz@jwz.org>, 20-Jan-98.
3  *
4  * Permission to use, copy, modify, distribute, and sell this software and its
5  * documentation for any purpose is hereby granted without fee, provided that
6  * the above copyright notice appear in all copies and that both that
7  * copyright notice and this permission notice appear in supporting
8  * documentation.  No representations are made about the suitability of this
9  * software for any purpose.  It is provided "as is" without express or 
10  * implied warranty.
11  */
12
13 #ifdef HAVE_CONFIG_H
14 # include "config.h"
15 #endif
16
17 #include <stdio.h>
18 #include <stdlib.h>
19 #include "bubbles.h"
20 #include "yarandom.h"
21
22 #ifndef NO_DEFAULT_BUBBLE
23
24 # define BLOOD 0
25 # include "images/gen/blood1_png.h"
26 # include "images/gen/blood2_png.h"
27 # include "images/gen/blood3_png.h"
28 # include "images/gen/blood4_png.h"
29 # include "images/gen/blood5_png.h"
30 # include "images/gen/blood6_png.h"
31 # include "images/gen/blood7_png.h"
32 # include "images/gen/blood8_png.h"
33 # include "images/gen/blood9_png.h"
34 # include "images/gen/blood10_png.h"
35 # include "images/gen/blood11_png.h"
36
37 # define BLUE 1
38 # include "images/gen/blue1_png.h"
39 # include "images/gen/blue2_png.h"
40 # include "images/gen/blue3_png.h"
41 # include "images/gen/blue4_png.h"
42 # include "images/gen/blue5_png.h"
43 # include "images/gen/blue6_png.h"
44 # include "images/gen/blue7_png.h"
45 # include "images/gen/blue8_png.h"
46 # include "images/gen/blue9_png.h"
47 # include "images/gen/blue10_png.h"
48 # include "images/gen/blue11_png.h"
49
50 # define GLASS 2
51 # include "images/gen/glass1_png.h"
52 # include "images/gen/glass2_png.h"
53 # include "images/gen/glass3_png.h"
54 # include "images/gen/glass4_png.h"
55 # include "images/gen/glass5_png.h"
56 # include "images/gen/glass6_png.h"
57 # include "images/gen/glass7_png.h"
58 # include "images/gen/glass8_png.h"
59 # include "images/gen/glass9_png.h"
60 # include "images/gen/glass10_png.h"
61 # include "images/gen/glass11_png.h"
62
63 # define JADE 3
64 # include "images/gen/jade1_png.h"
65 # include "images/gen/jade2_png.h"
66 # include "images/gen/jade3_png.h"
67 # include "images/gen/jade4_png.h"
68 # include "images/gen/jade5_png.h"
69 # include "images/gen/jade6_png.h"
70 # include "images/gen/jade7_png.h"
71 # include "images/gen/jade8_png.h"
72 # include "images/gen/jade9_png.h"
73 # include "images/gen/jade10_png.h"
74 # include "images/gen/jade11_png.h"
75
76 # define END 4
77
78
79 bubble_png default_bubbles[50];
80 int num_default_bubbles;
81
82 void init_default_bubbles(void)
83 {
84   int i = 0;
85   switch (random() % END) {
86
87 # define DEF(N,S) default_bubbles[i].png = N; default_bubbles[i].size = S; i++
88
89   case BLOOD:
90     DEF(blood1_png, sizeof(blood1_png));
91     DEF(blood2_png, sizeof(blood2_png));
92     DEF(blood3_png, sizeof(blood3_png));
93     DEF(blood4_png, sizeof(blood4_png));
94     DEF(blood5_png, sizeof(blood5_png));
95     DEF(blood6_png, sizeof(blood6_png));
96     DEF(blood7_png, sizeof(blood7_png));
97     DEF(blood8_png, sizeof(blood8_png));
98     DEF(blood9_png, sizeof(blood9_png));
99     DEF(blood10_png, sizeof(blood10_png));
100     DEF(blood11_png, sizeof(blood11_png));
101     break;
102
103   case BLUE:
104     DEF(blue1_png, sizeof(blue1_png));
105     DEF(blue2_png, sizeof(blue2_png));
106     DEF(blue3_png, sizeof(blue3_png));
107     DEF(blue4_png, sizeof(blue4_png));
108     DEF(blue5_png, sizeof(blue5_png));
109     DEF(blue6_png, sizeof(blue6_png));
110     DEF(blue7_png, sizeof(blue7_png));
111     DEF(blue8_png, sizeof(blue8_png));
112     DEF(blue9_png, sizeof(blue9_png));
113     DEF(blue10_png, sizeof(blue10_png));
114     DEF(blue11_png, sizeof(blue11_png));
115     break;
116
117   case GLASS:
118     DEF(glass1_png, sizeof(glass1_png));
119     DEF(glass2_png, sizeof(glass2_png));
120     DEF(glass3_png, sizeof(glass3_png));
121     DEF(glass4_png, sizeof(glass4_png));
122     DEF(glass5_png, sizeof(glass5_png));
123     DEF(glass6_png, sizeof(glass6_png));
124     DEF(glass7_png, sizeof(glass7_png));
125     DEF(glass8_png, sizeof(glass8_png));
126     DEF(glass9_png, sizeof(glass9_png));
127     DEF(glass10_png, sizeof(glass10_png));
128     DEF(glass11_png, sizeof(glass11_png));
129     break;
130
131   case JADE:
132     DEF(jade1_png, sizeof(jade1_png));
133     DEF(jade2_png, sizeof(jade2_png));
134     DEF(jade3_png, sizeof(jade3_png));
135     DEF(jade4_png, sizeof(jade4_png));
136     DEF(jade5_png, sizeof(jade5_png));
137     DEF(jade6_png, sizeof(jade6_png));
138     DEF(jade7_png, sizeof(jade7_png));
139     DEF(jade8_png, sizeof(jade8_png));
140     DEF(jade9_png, sizeof(jade9_png));
141     DEF(jade10_png, sizeof(jade10_png));
142     DEF(jade11_png, sizeof(jade11_png));
143     break;
144
145   default:
146     abort();
147     break;
148   }
149
150   default_bubbles[i].png = 0;
151   num_default_bubbles = i;
152 }
153
154 #endif /* NO_DEFAULT_BUBBLE */