Description:
Add rudimentary tree drawing.
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r2:9ebc00f85ae3 -

@@ -288,6 +288,24
288
288
289 }
289 }
290
290
291 protected void drawTileAt(int x, int y, int tileIndex, int height)
292 {
293 Vector2 squareOffset = new Vector2(Camera.Location.X % 32,
294 Camera.Location.Y % 32);
295
296 int offsetX = (int)squareOffset.X;
297 int offsetY = (int)squareOffset.Y;
298
299 batch.Draw(
300 Tile.TileSetTexture,
301 new Rectangle(
302 (x * Tile.TileStepX) - offsetX + 0 + baseOffsetX,
303 (y * Tile.TileStepY) - offsetY + baseOffsetY,
304 Tile.TileWidth, Tile.TileHeight*height),
305 Tile.GetExtendedSourceRectangle(tileIndex, height),
306 Color.White);
307 }
308
291 protected override void Draw(GameTime gameTime)
309 protected override void Draw(GameTime gameTime)
292 {
310 {
293 // Render stuff in here. Do NOT run game logic in here!
311 // Render stuff in here. Do NOT run game logic in here!
@@ -339,6 +357,8
339 }
357 }
340 }
358 }
341
359
360
361
342 //Gridlines
362 //Gridlines
343 //Lines going down and to the right:
363 //Lines going down and to the right:
344 for (int x = (-this.squaresAcross); x < this.squaresAcross; x++)
364 for (int x = (-this.squaresAcross); x < this.squaresAcross; x++)
@@ -368,6 +388,24
368
388
369 }
389 }
370
390
391 //int startpos = 140;
392 //for (int i = startpos; i < startpos + 4; i++)
393 //{
394 // batch.Draw(
395 // Tile.TileSetTexture,
396 // new Rectangle(
397 // ((i - startpos+2) * 2 * Tile.TileStepX) - offsetX + 0 + baseOffsetX,
398 // (4 * Tile.TileStepY) - offsetY + baseOffsetY,
399 // Tile.TileWidth, Tile.TileHeight),
400 // Tile.GetExtendedSourceRectangle(i, 2),
401 // Color.White);
402 //}
403
404 drawTileAt(4, 4, 140, 3);
405 drawTileAt(6, 4, 141, 3);
406 drawTileAt(8, 4, 142, 2);
407 drawTileAt(10, 4, 142, 3);
408
371 batch.DrawString(font, fps, new Vector2(33, 33), Color.Black);
409 batch.DrawString(font, fps, new Vector2(33, 33), Color.Black);
372 batch.DrawString(font, fps, new Vector2(32, 32), Color.White);
410 batch.DrawString(font, fps, new Vector2(32, 32), Color.White);
373 batch.End();
411 batch.End();
@@ -15,15 +15,21
15
15
16 public static void drawLine(SpriteBatch batch, Vector2 start, Vector2 stop, Color color)
16 public static void drawLine(SpriteBatch batch, Vector2 start, Vector2 stop, Color color)
17 {
17 {
18 drawLine(batch, start, stop, color, 1);
18 drawLine(batch, start, stop, color, 0, 1);
19 }
19 }
20
20
21 public static void drawLine(SpriteBatch batch, Vector2 start, Vector2 stop, Color color, int width)
21 public static void drawLine(SpriteBatch batch, Vector2 start, Vector2 stop, Color color, float depth)
22 {
23 drawLine(batch, start, stop, color, depth, 1);
24
25 }
26
27 public static void drawLine(SpriteBatch batch, Vector2 start, Vector2 stop, Color color, float depth, int width)
22 {
28 {
23 Vector2 line = stop - start;
29 Vector2 line = stop - start;
24 float angle = (float)Math.Atan2((double)line.Y, (double) line.X);
30 float angle = (float)Math.Atan2((double)line.Y, (double) line.X);
25 Rectangle rect = new Rectangle((int)start.X, (int)start.Y, (int)Math.Round(line.Length()), width);
31 Rectangle rect = new Rectangle((int)start.X, (int)start.Y, (int)Math.Round(line.Length()), width);
26 batch.Draw(Line.PixelTexture, rect, null, color, angle, new Vector2(0,0), SpriteEffects.None, 0);
32 batch.Draw(Line.PixelTexture, rect, null, color, angle, new Vector2(0,0), SpriteEffects.None, depth);
27
33
28 }
34 }
29
35
@@ -20,9 +20,6
20 public Tile()
20 public Tile()
21 {
21 {
22 }
22 }
23
24
25
26
23
27 static public Rectangle GetSourceRectangle(int tileIndex)
24 static public Rectangle GetSourceRectangle(int tileIndex)
28 {
25 {
@@ -32,5 +29,13
32 return new Rectangle(tileX * TileWidth, tileY * TileHeight, TileWidth, TileHeight);
29 return new Rectangle(tileX * TileWidth, tileY * TileHeight, TileWidth, TileHeight);
33 }
30 }
34
31
32 static public Rectangle GetExtendedSourceRectangle(int tileIndex, int height)
33 {
34 int tileY = tileIndex / (TileSetTexture.Width / TileWidth);
35 int tileX = tileIndex % (TileSetTexture.Width / TileWidth);
36
37 return new Rectangle(tileX * TileWidth, tileY * TileHeight, TileWidth, TileHeight*height);
38 }
39
35 }
40 }
36 }
41 }
You need to be logged in to leave comments. Login now