1 /*
2 Copyright (C) 2004 Parallel Realities
3 
4 This program is free software; you can redistribute it and/or
5 modify it under the terms of the GNU General Public License
6 as published by the Free Software Foundation; either version 2
7 of the License, or (at your option) any later version.
8 
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12 
13 See the GNU General Public License for more details.
14 
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
18 
19 */
20 
21 #include "resources.h"
22 
loadResources()23 void loadResources()
24 {
25 	Sprite *sprite;
26 
27 	debug(("Loading Resources...\n"));
28 
29 	/* load all the graphics */
30 
31 	graphics.quickSprite("TitleLogo", graphics.loadImage("gfx/main/title.png"));
32 	graphics.quickSprite("PRLogo", graphics.loadImage("gfx/main/prlogo.gif"));
33 	graphics.setFontSize(3);
34 	graphics.setFontColor(0xff, 0xff, 0xff, 0x00, 0x00, 0x00);
35 	graphics.quickSprite("Presents", graphics.getString(true, "Presents"));
36 	graphics.quickSprite("SDL", graphics.getString(true, "An SDL Game"));
37 
38 	graphics.quickSprite("BlueDirectory", graphics.loadImage("gfx/dirs/blueDir.png"));
39 	graphics.quickSprite("GreenDirectory", graphics.loadImage("gfx/dirs/greenDir.png"));
40 	graphics.quickSprite("GreyDirectory", graphics.loadImage("gfx/dirs/greyDir.png"));
41 	graphics.quickSprite("RedDirectory", graphics.loadImage("gfx/dirs/redDir.png"));
42 	graphics.quickSprite("VioletDirectory", graphics.loadImage("gfx/dirs/violetDir.png"));
43 	graphics.quickSprite("YellowDirectory", graphics.loadImage("gfx/dirs/yellowDir.png"));
44 
45 	graphics.quickSprite("Binary", graphics.loadImage("gfx/fileTypes/binary.png"));
46 	graphics.quickSprite("HTML", graphics.loadImage("gfx/fileTypes/html.png"));
47 	graphics.quickSprite("Image", graphics.loadImage("gfx/fileTypes/image.png"));
48 	graphics.quickSprite("Video", graphics.loadImage("gfx/fileTypes/video.png"));
49 	graphics.quickSprite("PDF", graphics.loadImage("gfx/fileTypes/pdf.png"));
50 	graphics.quickSprite("QuickTime", graphics.loadImage("gfx/fileTypes/quicktime.png"));
51 	graphics.quickSprite("RPM", graphics.loadImage("gfx/fileTypes/rpm.png"));
52 	graphics.quickSprite("Office", graphics.loadImage("gfx/fileTypes/soffice.png"));
53 	graphics.quickSprite("Sound", graphics.loadImage("gfx/fileTypes/sound.png"));
54 	graphics.quickSprite("C", graphics.loadImage("gfx/fileTypes/source_c.png"));
55 	graphics.quickSprite("CPP", graphics.loadImage("gfx/fileTypes/source_cpp.png"));
56 	graphics.quickSprite("H", graphics.loadImage("gfx/fileTypes/source_h.png"));
57 	graphics.quickSprite("Java", graphics.loadImage("gfx/fileTypes/source_java.png"));
58 	graphics.quickSprite("O", graphics.loadImage("gfx/fileTypes/source_o.png"));
59 	graphics.quickSprite("Zip", graphics.loadImage("gfx/fileTypes/tgz.png"));
60 	graphics.quickSprite("Text", graphics.loadImage("gfx/fileTypes/txt.png"));
61 	graphics.quickSprite("WordProcessing", graphics.loadImage("gfx/fileTypes/wordprocessing.png"));
62 
63 	graphics.quickSprite("Base1", graphics.loadImage("gfx/sprites/ie.png"));
64 	graphics.quickSprite("Base2", graphics.loadImage("gfx/sprites/bin.png"));
65 	graphics.quickSprite("Base3", graphics.loadImage("gfx/sprites/outlook.png"));
66 	graphics.quickSprite("Base4", graphics.loadImage("gfx/sprites/msn.png"));
67 
68 	graphics.quickSprite("ItemBomb", graphics.loadImage("gfx/sprites/bomb.png"));
69 	graphics.quickSprite("ItemClock", graphics.loadImage("gfx/sprites/clock.png"));
70 	graphics.quickSprite("ItemPower", graphics.loadImage("gfx/sprites/battery.png"));
71 
72 	graphics.quickSprite("Targeter", graphics.loadImage("gfx/sprites/targeter.png"));
73 
74 	sprite = graphics.addSprite("Virus1");
75 	sprite->setFrame(0, graphics.loadImage("gfx/sprites/virus1-1.png"), 10);
76 	sprite->setFrame(1, graphics.loadImage("gfx/sprites/virus1-2.png"), 10);
77 	sprite->setFrame(2, graphics.loadImage("gfx/sprites/virus1-3.png"), 10);
78 	sprite->setFrame(3, graphics.loadImage("gfx/sprites/virus1-4.png"), 10);
79 
80 	sprite = graphics.addSprite("Virus2");
81 	sprite->setFrame(0, graphics.loadImage("gfx/sprites/virus2-1.png"), 8);
82 	sprite->setFrame(1, graphics.loadImage("gfx/sprites/virus2-2.png"), 8);
83 	sprite->setFrame(2, graphics.loadImage("gfx/sprites/virus2-3.png"), 8);
84 
85 	sprite = graphics.addSprite("Virus3");
86 	sprite->setFrame(0, graphics.loadImage("gfx/sprites/virus3-1.png"), 5);
87 	sprite->setFrame(1, graphics.loadImage("gfx/sprites/virus3-2.png"), 5);
88 	sprite->setFrame(2, graphics.loadImage("gfx/sprites/virus3-3.png"), 5);
89 	sprite->setFrame(3, graphics.loadImage("gfx/sprites/virus3-4.png"), 5);
90 
91 	audio.loadSound(SND_VIRUSLAUGH1, "sound/virusLaugh1.wav");
92 	audio.loadSound(SND_VIRUSLAUGH2, "sound/virusLaugh2.wav");
93 	audio.loadSound(SND_VIRUSLAUGH3, "sound/virusLaugh2.wav");
94 	audio.loadSound(SND_VIRUSLAUGH4, "sound/virusLaugh5.wav");
95 	audio.loadSound(SND_VIRUSLAUGH5, "sound/virusLaugh5.wav");
96 	audio.loadSound(SND_VIRUSLAUGH6, "sound/virusLaugh6.wav");
97 
98 	audio.loadSound(SND_VIRUSDESTROYDIR, "sound/virusDestroyDir.wav");
99 
100 	audio.loadSound(SND_VIRUSKILLED1, "sound/virusKilled1.wav");
101 	audio.loadSound(SND_VIRUSKILLED2, "sound/virusKilled2.wav");
102 	audio.loadSound(SND_VIRUSKILLED3, "sound/virusKilled3.wav");
103 
104 	audio.loadSound(SND_VIRUSEATFILE, "sound/virusEatFile.wav");
105 
106 	audio.loadSound(SND_DIRDESTROYED1, "sound/dirDestroyed1.wav");
107 	audio.loadSound(SND_DIRDESTROYED2, "sound/dirDestroyed2.wav");
108 	audio.loadSound(SND_DIRDESTROYED3, "sound/dirDestroyed3.wav");
109 	audio.loadSound(SND_DIRDESTROYED4, "sound/dirDestroyed4.wav");
110 	audio.loadSound(SND_DIRDESTROYED5, "sound/dirDestroyed5.wav");
111 	audio.loadSound(SND_DIRDESTROYED6, "sound/dirDestroyed6.wav");
112 
113 	audio.loadSound(SND_FILEDESTROYED1, "sound/fileDestroyed1.wav");
114 	audio.loadSound(SND_FILEDESTROYED2, "sound/fileDestroyed2.wav");
115 	audio.loadSound(SND_FILEDESTROYED3, "sound/fileDestroyed3.wav");
116 
117 	audio.loadSound(SND_KERNALBEAM, "sound/kernelBeam.wav");
118 
119 	audio.loadSound(SND_POWERUP, "sound/powerup.wav");
120 	audio.loadSound(SND_CLOCK, "sound/clock.wav");
121 	audio.loadSound(SND_EXPLOSION, "sound/explosion.wav");
122 
123 	audio.loadSound(SND_ITEM, "sound/item.wav");
124 
125 	audio.loadSound(SND_GAMEOVER, "sound/gameOver.wav");
126 
127 	gameData.base[0].image = graphics.getSprite("Base1", true)->getCurrentFrame();
128 	gameData.base[1].image = graphics.getSprite("Base2", true)->getCurrentFrame();
129 	gameData.base[2].image = graphics.getSprite("Base3", true)->getCurrentFrame();
130 	gameData.base[3].image = graphics.getSprite("Base4", true)->getCurrentFrame();
131 
132 	debug(("Finished Resources...\n"));
133 }
134 
loadRandomBackground()135 void loadRandomBackground()
136 {
137 	int r = rand() % 10;
138 
139 	switch (r)
140 	{
141 		case 0:
142 			graphics.loadBackground("gfx/backgrounds/amiga39.png");
143 			break;
144 		case 1:
145 			graphics.loadBackground("gfx/backgrounds/gnome.png");
146 			break;
147 		case 2:
148 			graphics.loadBackground("gfx/backgrounds/kde1.png");
149 			break;
150 		case 3:
151 			graphics.loadBackground("gfx/backgrounds/kde2.png");
152 			break;
153 		case 4:
154 			graphics.loadBackground("gfx/backgrounds/longhorn.png");
155 			break;
156 		case 5:
157 			graphics.loadBackground("gfx/backgrounds/macosx.png");
158 			break;
159 		case 6:
160 			graphics.loadBackground("gfx/backgrounds/win31.png");
161 			break;
162 		case 7:
163 			graphics.loadBackground("gfx/backgrounds/winxp.png");
164 			break;
165 		case 8:
166 			graphics.loadBackground("gfx/backgrounds/xbox.png");
167 			break;
168 		case 9:
169 			graphics.loadBackground("gfx/backgrounds/amiga13.png");
170 	}
171 }
172