Skip to content

Commit aa1f685

Browse files
Merge branch 'master' of https://github.com/gameplay3d/GamePlay
Conflicts: samples/browser/sample-browser.vcxproj.filters
2 parents 90a3336 + f13c398 commit aa1f685

File tree

7 files changed

+320
-128
lines changed

7 files changed

+320
-128
lines changed

gameplay/src/Sprite.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,12 +246,14 @@ Sprite* Sprite::create(Properties* properties)
246246
float heightPercentage = 0.0f;
247247
if (properties->exists("width"))
248248
{
249-
if (properties->getType("width") == Properties::NUMBER) //TODO: Verify that this works for "100" but fails for "100%"
249+
if (properties->getType("width") == Properties::NUMBER)
250250
{
251+
// Number only (200)
251252
width = properties->getFloat("width");
252253
}
253254
else
254255
{
256+
// Number and something else (200%)
255257
widthPercentage = properties->getFloat("width") / 100.0f;
256258
}
257259
}

gameplay/src/TileSet.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ TileSet* TileSet::create(Properties* properties)
136136
Vector2 cell;
137137
Vector2 source;
138138
if (tileProperties->getVector2("cell", &cell) && tileProperties->getVector2("source", &source) &&
139-
(cell.x > 0 && cell.y > 0 && cell.x < set->_columnCount && cell.y < set->_rowCount))
139+
(cell.x >= 0 && cell.y >= 0 && cell.x < set->_columnCount && cell.y < set->_rowCount))
140140
{
141141
set->_tiles[(int)cell.y * set->_columnCount + (int)cell.x] = source;
142142
}
Lines changed: 193 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,193 @@
1+
scene spriteSample
2+
{
3+
// Width and height are expected to be 1280x720
4+
node camera
5+
{
6+
camera
7+
{
8+
type = ORTHOGRAPHIC
9+
nearPlane = 0
10+
farPlane = 100
11+
12+
// zoomX default is game width
13+
// zoomY default is game height
14+
// aspectRatio default is game width / game height
15+
}
16+
// width and height are divided in half
17+
translate = 640, 360, 0
18+
}
19+
20+
// Background sprite
21+
node background
22+
{
23+
sprite
24+
{
25+
path = res/common/sprites/background.png
26+
27+
// game width * 5
28+
width = 6400
29+
height = 720
30+
}
31+
}
32+
33+
// Level floor
34+
node floor
35+
{
36+
tileset
37+
{
38+
path = res/common/sprites/level.png
39+
40+
tileWidth = 70
41+
tileHeight = 70
42+
rows = 3
43+
columns = 7
44+
45+
tile
46+
{
47+
cell = 0, 0
48+
source = 568, 284
49+
}
50+
tile
51+
{
52+
cell = 1, 0
53+
source = 568, 284
54+
}
55+
tile
56+
{
57+
cell = 2, 0
58+
source = 568, 284
59+
}
60+
tile
61+
{
62+
cell = 3, 0
63+
source = 568, 284
64+
}
65+
tile
66+
{
67+
cell = 4, 0
68+
source = 497, 284
69+
}
70+
71+
tile
72+
{
73+
cell = 0, 1
74+
source = 568, 0
75+
}
76+
tile
77+
{
78+
cell = 1, 1
79+
source = 568, 0
80+
}
81+
tile
82+
{
83+
cell = 2, 1
84+
source = 568, 0
85+
}
86+
tile
87+
{
88+
cell = 3, 1
89+
source = 568, 0
90+
}
91+
tile
92+
{
93+
cell = 4, 1
94+
source = 710, 142
95+
}
96+
tile
97+
{
98+
cell = 5, 1
99+
source = 497, 284
100+
}
101+
102+
tile
103+
{
104+
cell = 0, 2
105+
source = 568, 0
106+
}
107+
tile
108+
{
109+
cell = 1, 2
110+
source = 568, 0
111+
}
112+
tile
113+
{
114+
cell = 2, 2
115+
source = 568, 0
116+
}
117+
tile
118+
{
119+
cell = 3, 2
120+
source = 568, 0
121+
}
122+
tile
123+
{
124+
cell = 4, 2
125+
source = 568, 0
126+
}
127+
tile
128+
{
129+
cell = 5, 2
130+
source = 710, 142
131+
}
132+
tile
133+
{
134+
cell = 6, 2
135+
source = 497, 284
136+
}
137+
}
138+
}
139+
140+
node player
141+
{
142+
sprite
143+
{
144+
path = res/common/sprites/player1.png
145+
146+
width = 72
147+
height = 97
148+
source = 67, 196, 66, 92
149+
frameCount = 13
150+
}
151+
152+
// Position player at lower-left. Y position is floor's tileset height (tileHeight * rows)
153+
translate = 0, 210, 0
154+
}
155+
156+
node rocket
157+
{
158+
sprite
159+
{
160+
path = res/common/sprites/rocket.png
161+
162+
width = 128
163+
height = 128
164+
blendMode = BLEND_ADDITIVE
165+
anchor = 0.5, 0.3
166+
offset = OFFSET_ANCHOR
167+
}
168+
169+
translate = 1280, 0, 0
170+
rotate = 0, 0, 1, -45
171+
}
172+
173+
node water
174+
{
175+
// Sprite drawable set in code because Effect isn't supported
176+
translate = 0, -50, 0
177+
}
178+
179+
node text
180+
{
181+
text
182+
{
183+
font = res/ui/arial.gpb
184+
185+
text = P1
186+
size = 18
187+
color = 0, 0, 1, 1
188+
}
189+
}
190+
191+
// Set active camera
192+
activeCamera = camera
193+
}

samples/browser/sample-browser.vcxproj

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,8 @@ copy ..\..\gameplay\res\logo_powered_white.png res</Command>
221221
<None Include="res\common\sample.material" />
222222
<None Include="res\common\sample.scene" />
223223
<None Include="res\common\sphere.gpb" />
224+
<None Include="res\common\sprites\sprite.scene" />
225+
<None Include="res\common\sprites\water2d.frag" />
224226
<None Include="res\common\terrain\encode.bat" />
225227
<None Include="res\common\terrain\heightmap.r16" />
226228
<None Include="res\common\terrain\sample.scene" />
@@ -315,6 +317,14 @@ copy ..\..\gameplay\res\logo_powered_white.png res</Command>
315317
<Image Include="res\common\particles\explosion.png" />
316318
<Image Include="res\common\particles\fire.png" />
317319
<Image Include="res\common\particles\smoke.png" />
320+
<Image Include="res\common\sprites\background.png" />
321+
<Image Include="res\common\sprites\level.png" />
322+
<Image Include="res\common\sprites\player1.png" />
323+
<Image Include="res\common\sprites\player2.png" />
324+
<Image Include="res\common\sprites\player3.png" />
325+
<Image Include="res\common\sprites\rocket.png" />
326+
<Image Include="res\common\sprites\water2d-noise.png" />
327+
<Image Include="res\common\sprites\water2d.png" />
318328
<Image Include="res\common\terrain\dirt.dds" />
319329
<Image Include="res\common\terrain\grass.dds" />
320330
<Image Include="res\common\terrain\normalmap.dds" />
@@ -341,6 +351,12 @@ copy ..\..\gameplay\res\logo_powered_white.png res</Command>
341351
<Media Include="res\common\audio\braking.wav" />
342352
<Media Include="res\common\footsteps.wav" />
343353
</ItemGroup>
354+
<ItemGroup>
355+
<Text Include="res\common\sprites\level.txt" />
356+
<Text Include="res\common\sprites\player1.txt" />
357+
<Text Include="res\common\sprites\player2.txt" />
358+
<Text Include="res\common\sprites\player3.txt" />
359+
</ItemGroup>
344360
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
345361
<ImportGroup Label="ExtensionTargets">
346362
</ImportGroup>

samples/browser/sample-browser.vcxproj.filters

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@
3939
<Filter Include="res\common\particles">
4040
<UniqueIdentifier>{98333a4d-224e-4f83-ac60-baca4885bf82}</UniqueIdentifier>
4141
</Filter>
42+
<Filter Include="res\common\sprites">
43+
<UniqueIdentifier>{5f9e3afc-ab2a-463d-9376-9d9df3e9fed4}</UniqueIdentifier>
44+
</Filter>
4245
</ItemGroup>
4346
<ItemGroup>
4447
<None Include="game.config" />
@@ -307,6 +310,12 @@
307310
<None Include="res\common\particles\grid.material">
308311
<Filter>res\common</Filter>
309312
</None>
313+
<None Include="res\common\sprites\sprite.scene">
314+
<Filter>res\common\sprites</Filter>
315+
</None>
316+
<None Include="res\common\sprites\water2d.frag">
317+
<Filter>res\common\sprites</Filter>
318+
</None>
310319
</ItemGroup>
311320
<ItemGroup>
312321
<ClInclude Include="src\MeshPrimitiveSample.h">
@@ -544,6 +553,30 @@
544553
<Image Include="res\common\particles\smoke.png">
545554
<Filter>res\common\particles</Filter>
546555
</Image>
556+
<Image Include="res\common\sprites\background.png">
557+
<Filter>res\common\sprites</Filter>
558+
</Image>
559+
<Image Include="res\common\sprites\level.png">
560+
<Filter>res\common\sprites</Filter>
561+
</Image>
562+
<Image Include="res\common\sprites\player1.png">
563+
<Filter>res\common\sprites</Filter>
564+
</Image>
565+
<Image Include="res\common\sprites\player2.png">
566+
<Filter>res\common\sprites</Filter>
567+
</Image>
568+
<Image Include="res\common\sprites\player3.png">
569+
<Filter>res\common\sprites</Filter>
570+
</Image>
571+
<Image Include="res\common\sprites\rocket.png">
572+
<Filter>res\common\sprites</Filter>
573+
</Image>
574+
<Image Include="res\common\sprites\water2d.png">
575+
<Filter>res\common\sprites</Filter>
576+
</Image>
577+
<Image Include="res\common\sprites\water2d-noise.png">
578+
<Filter>res\common\sprites</Filter>
579+
</Image>
547580
</ItemGroup>
548581
<ItemGroup>
549582
<Media Include="res\common\footsteps.wav">
@@ -553,4 +586,18 @@
553586
<Filter>res\common\audio</Filter>
554587
</Media>
555588
</ItemGroup>
589+
<ItemGroup>
590+
<Text Include="res\common\sprites\level.txt">
591+
<Filter>res\common\sprites</Filter>
592+
</Text>
593+
<Text Include="res\common\sprites\player1.txt">
594+
<Filter>res\common\sprites</Filter>
595+
</Text>
596+
<Text Include="res\common\sprites\player2.txt">
597+
<Filter>res\common\sprites</Filter>
598+
</Text>
599+
<Text Include="res\common\sprites\player3.txt">
600+
<Filter>res\common\sprites</Filter>
601+
</Text>
602+
</ItemGroup>
556603
</Project>

0 commit comments

Comments
 (0)