summaryrefslogtreecommitdiff
path: root/osframework/source/demos/properties/resources.xml
blob: cf9d36d2f38e42e12d08d22401751408324de3fb (plain)
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
<?xml version="1.0"?>

<!-- 
	All resources.xml files must contain the ResourceManifest section.
	
	Just like when we loaded resources manually in demos 1-3, you do
	not have to specify the extensions for images and sounds.

	Use the ResourceGen.exe program to convert this XML into C++ code.
	The variable names that you give to the resources below will then be
	accessible by any file that includes your resource header file 
	(generated by ResourceGen.exe).
	
	Resource groups can be loaded/deleted at any time. Thus, it's advantageous
	to split your resources into groups if you don't need to have every single
	resource in memory at the same time. A common use for grouping is to
	split the title screen, main menu, and main game elements up. Then,
	when the main game is playing, you can kick out the main menu and title
	screen data. Similarly, when you are back to the main menu, you can kick out
	the game resources. How you use the grouping is up to you, it's provided
	for your convenience.	
	
	Remember in previous demos how we had to manually set an image's
	mNumRows and mNumCols by hand? Not anymore. If we had an image we
	wanted to load that contained more than 1 row or column, we could
	specify the optional parameters: cols and rows. As an example, here's
	how we'd load in that lightning image from a previous demo:
	
	<Image id="LIGHTNINGT" path="images/lightning" rows="8"/>
	
	And then it's automatically set for you when you load the resource.
-->

<ResourceManifest>
	
	<!-- You create resource groups with the Resources tag. Specify the
		group name in the "id" field. We tend to use "Init" to mean the resources that
		must be loaded before ANYTHING displays. We put our main font in here instead
		of in the TileScreen group (below) because we want the font to stick around
		for the duration of the game and not to be removed when we get rid of the
		title screen. -->
	<Resources id="Init">

		<!-- You can set the default directory to look for the resources in, as
			 well as a standard prefix for the resource variable names when the C++
			 code is generated. -->
		<SetDefaults path="fonts" idprefix="FONT_" />
		
		<!-- The Font tag indicates that we want to load and initialize a font. Just
			 give the font a name (in this case, FONT_DEFAULT) and tell the manager where
			 to look for the data file. -->
		<Font id="DEFAULT"		path="ContinuumBold12.txt"/>
		<Font id="HUNGARR"		path="ArmorPiercing22.txt"/>
		
		<SetDefaults path="images" idprefix="IMAGE_" />
		<Image id="CUSTOM_POINTER"		path="custom_pointer"/>
		<Image id="CUSTOM_HAND"			path="custom_hand"/>
		<Image id="CUSTOM_DRAGGING"		path="custom_dragging"/>
		<Image id="CUSTOM_TEXT"			path="custom_text"/>
		<Image id="HUNGARR_LOGO"		path="hungarr_logo"/>

	</Resources>

	<!--	These are the resources that are going to be used solely by the title screen.
			Again, we could have named this resource group anything we wanted.
			These resources will be deleted after we are done using the title screen. -->			
	<Resources id="TitleScreen">
	<SetDefaults path="images" idprefix="IMAGE_"/>			
	
		<!-- The Image tag specifies that we want to load...an image.
			 There is also a Sound tag for loading sounds. All the tags work exactly the same:
			 you specify a variable name to use (if idprefix is specified it is prepended to
			 that name) and the name of the file to load. -->
		<Image id="LOADER_BAR"						path="loader_bar"/>
		<Image id="LOADER_LOADINGTXT"				path="loader_loading"/>	
		
	<SetDefaults path="sounds" idprefix="SOUND_"/>
		<Sound id="CONTINUE"						path="slowdown1"/>	
	</Resources>
	
	<!-- And finally, we'll put all the resources that are needed for the main game
		 part of things in this group. -->
	<Resources id="Game">		
		<SetDefaults path="sounds" idprefix="SOUND_"/>
				
		<Sound id="MUTATOR"							path="mutator"/>
		<Sound id="TIMER"							path="timer"/>
		
		<SetDefaults path="images" idprefix="IMAGE_"/>
		
		<!-- in case you're wondering about some of these filenames, they are taken
			from various PopCap games. They haven't been changed. -->
		
		<Image id="ROBOTROBOT"						path="robotrobot"/>
		<Image id="CHECKBOX"						path="checkbox"/>
		<Image id="BG0"								path="layer0"/>
		<Image id="BG1"								path="layer1"/>
		<Image id="BG2"								path="layer2"/>
		<Image id="BUTTON_DOWN"						path="btn_down"/>
		<Image id="BUTTON_OVER"						path="btn_over"/>
		<Image id="BUTTON_NORMAL"					path="btn_up"/>
		
		<Image id="DIALOG_BOX"						path="dialog"/>
		<Image id="DIALOG_BUTTON"					path="dialog_btn"/>
		<Image id="SLIDER_TRACK"					path="slider"/>
		<Image id="SLIDER_THUMB"					path="slider_thumb"/>		
	</Resources>
	
	<!-- Resources for the Hun-garr game -->
	<Resources id="Hungarr">
		<SetDefaults path="images" idprefix="IMAGE_"/>
		<Image id="HUNGARR_SMALL"					path="unicron_baby"/>
		<Image id="HUNGARR_BEAM_UP"					path="unicron_beam_up"/>
		<Image id="HUNGARR_BEAM_DOWN"				path="unicron_beam_down"/>
		<Image id="HUNGARR_BEAM_LEFT"				path="unicron_beam_left"/>
		<Image id="HUNGARR_BEAM_RIGHT"				path="unicron_beam_right"/>
		<Image id="HUNGARR_HORIZ"					path="unicron_horiz"/>
		<Image id="HUNGARR_VERT"					path="unicron_vert"/>
		<Image id="ATOMIC_EXPLOSION"				path="atomicexplosion" cols="15"/>
		<Image id="BOMB_RADIAL_DEATH"				path="bomb_radial_death" cols="10"/>
		<Image id="PLANETS"							path="planets_small" cols="11" rows="3"/>
		<Image id="SPARK"							path="spark"/>
		<Image id="PARTICLE_LIGHTNING"				path="particle_lightning" cols="19"/>
		
		<SetDefaults path="sounds" idprefix="SOUND_"/>
		<Sound id="MAGZAP"							path="magzap1"/>
		<Sound id="BUTTON"							path="mouseover"/>
		<Sound id="PLANET"							path="planet"/>
		<Sound id="LEVEL_UP1"						path="level_up"/>
		<Sound id="LEVEL_UP2"						path="level_up2"/>
		<Sound id="EXPLOSION"						path="explosion"/>
		
		<Sound id="BEAM_HIT"						path="robotlaser"/>		
		<Sound id="PLANET_HIT"						path="click2"/>
		<Sound id="BEAM_MOVING"						path="shorting"/>
		<Sound id="LEVEL_UP4"						path="laserpowerup"/>
		<Sound id="LEVEL_UP3"						path="killall_explode"/>
		<Sound id="GAME_OVER_CLICK"					path="bad2"/>
		<Sound id="GAME_OVER_STATS"					path="electro_start"/>
		<Sound id="GAME_OVER_RESTART"				path="whirlpool1"/>
		<Sound id="GAME_OVER_TEXT"					path="lament"/>
		<Sound id="REGION_FILLED"					path="metal_loop"/>
		
	</Resources>
</ResourceManifest>