diff options
Diffstat (limited to 'src/game.cpp')
-rw-r--r-- | src/game.cpp | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/src/game.cpp b/src/game.cpp index 9d557e3..08c96ee 100644 --- a/src/game.cpp +++ b/src/game.cpp | |||
@@ -283,6 +283,7 @@ void Game::recalculateRender() { | |||
283 | { | 283 | { |
284 | if (map.at(x,y).dirtyRender) { | 284 | if (map.at(x,y).dirtyRender) { |
285 | map.at(x,y).dirtyRender = false; | 285 | map.at(x,y).dirtyRender = false; |
286 | map.at(x,y).renderId = -1; | ||
286 | 287 | ||
287 | if (map.tile(x,y) == Tile::Floor) { | 288 | if (map.tile(x,y) == Tile::Floor) { |
288 | int renderDesc = 0; | 289 | int renderDesc = 0; |
@@ -313,12 +314,11 @@ void Game::recalculateRender() { | |||
313 | map.at(x,y).sign = false; | 314 | map.at(x,y).sign = false; |
314 | } | 315 | } |
315 | } else { | 316 | } else { |
316 | map.at(x,y).renderId = -1; | ||
317 | map.at(x,y).sign = false; | 317 | map.at(x,y).sign = false; |
318 | } | 318 | } |
319 | } else if (map.tile(x,y) == Tile::Wall) { | 319 | } else if (map.tile(x,y) == Tile::Wall) { |
320 | static bool initWalls = false; | 320 | static bool initWalls = false; |
321 | static std::vector<int> wallRenders(256, TilesetIndex(0, 0)); | 321 | static std::vector<int> wallRenders(256, TilesetIndex(21, 12)); |
322 | if (!initWalls) { | 322 | if (!initWalls) { |
323 | initWalls = true; | 323 | initWalls = true; |
324 | 324 | ||
@@ -327,41 +327,51 @@ void Game::recalculateRender() { | |||
327 | wallRenders[0b00111100] = TilesetIndex(16, 14); | 327 | wallRenders[0b00111100] = TilesetIndex(16, 14); |
328 | wallRenders[0b00011110] = TilesetIndex(16, 14); | 328 | wallRenders[0b00011110] = TilesetIndex(16, 14); |
329 | wallRenders[0b00111110] = TilesetIndex(16, 14); | 329 | wallRenders[0b00111110] = TilesetIndex(16, 14); |
330 | wallRenders[0b00111101] = TilesetIndex(16, 14); | ||
331 | wallRenders[0b10011101] = TilesetIndex(16, 14); | ||
330 | 332 | ||
331 | wallRenders[0b00011111] = TilesetIndex(17, 14); | 333 | wallRenders[0b00011111] = TilesetIndex(17, 14); |
332 | wallRenders[0b10011111] = TilesetIndex(17, 14); | 334 | wallRenders[0b10011111] = TilesetIndex(17, 14); |
333 | wallRenders[0b00111111] = TilesetIndex(17, 14); | 335 | wallRenders[0b00111111] = TilesetIndex(17, 14); |
334 | wallRenders[0b10111111] = TilesetIndex(17, 14); | 336 | wallRenders[0b10111111] = TilesetIndex(17, 14); |
337 | wallRenders[0b01011111] = TilesetIndex(17, 14); | ||
335 | 338 | ||
336 | wallRenders[0b00000111] = TilesetIndex(18, 14); | 339 | wallRenders[0b00000111] = TilesetIndex(18, 14); |
337 | wallRenders[0b00001111] = TilesetIndex(18, 14); | 340 | wallRenders[0b00001111] = TilesetIndex(18, 14); |
338 | wallRenders[0b10000111] = TilesetIndex(18, 14); | 341 | wallRenders[0b10000111] = TilesetIndex(18, 14); |
339 | wallRenders[0b10001111] = TilesetIndex(18, 14); | 342 | wallRenders[0b10001111] = TilesetIndex(18, 14); |
343 | wallRenders[0b10101111] = TilesetIndex(18, 14); | ||
340 | 344 | ||
341 | wallRenders[0b01111100] = TilesetIndex(16, 15); | 345 | wallRenders[0b01111100] = TilesetIndex(16, 15); |
342 | wallRenders[0b11111100] = TilesetIndex(16, 15); | 346 | wallRenders[0b11111100] = TilesetIndex(16, 15); |
343 | wallRenders[0b01111110] = TilesetIndex(16, 15); | 347 | wallRenders[0b01111110] = TilesetIndex(16, 15); |
344 | wallRenders[0b11111110] = TilesetIndex(16, 15); | 348 | wallRenders[0b11111110] = TilesetIndex(16, 15); |
349 | wallRenders[0b01111101] = TilesetIndex(16, 15); | ||
345 | 350 | ||
346 | wallRenders[0b11000111] = TilesetIndex(18, 15); | 351 | wallRenders[0b11000111] = TilesetIndex(18, 15); |
347 | wallRenders[0b11001111] = TilesetIndex(18, 15); | 352 | wallRenders[0b11001111] = TilesetIndex(18, 15); |
348 | wallRenders[0b11100111] = TilesetIndex(18, 15); | 353 | wallRenders[0b11100111] = TilesetIndex(18, 15); |
349 | wallRenders[0b11101111] = TilesetIndex(18, 15); | 354 | wallRenders[0b11101111] = TilesetIndex(18, 15); |
355 | wallRenders[0b11010111] = TilesetIndex(18, 15); | ||
350 | 356 | ||
351 | wallRenders[0b01110000] = TilesetIndex(16, 16); | 357 | wallRenders[0b01110000] = TilesetIndex(16, 16); |
352 | wallRenders[0b01111000] = TilesetIndex(16, 16); | 358 | wallRenders[0b01111000] = TilesetIndex(16, 16); |
353 | wallRenders[0b11110000] = TilesetIndex(16, 16); | 359 | wallRenders[0b11110000] = TilesetIndex(16, 16); |
354 | wallRenders[0b11111000] = TilesetIndex(16, 16); | 360 | wallRenders[0b11111000] = TilesetIndex(16, 16); |
361 | wallRenders[0b11111010] = TilesetIndex(16, 16); | ||
355 | 362 | ||
356 | wallRenders[0b11110001] = TilesetIndex(17, 16); | 363 | wallRenders[0b11110001] = TilesetIndex(17, 16); |
357 | wallRenders[0b11110011] = TilesetIndex(17, 16); | 364 | wallRenders[0b11110011] = TilesetIndex(17, 16); |
358 | wallRenders[0b11111001] = TilesetIndex(17, 16); | 365 | wallRenders[0b11111001] = TilesetIndex(17, 16); |
359 | wallRenders[0b11111011] = TilesetIndex(17, 16); | 366 | wallRenders[0b11111011] = TilesetIndex(17, 16); |
367 | wallRenders[0b11110101] = TilesetIndex(17, 16); | ||
360 | 368 | ||
361 | wallRenders[0b11000001] = TilesetIndex(18, 16); | 369 | wallRenders[0b11000001] = TilesetIndex(18, 16); |
362 | wallRenders[0b11000011] = TilesetIndex(18, 16); | 370 | wallRenders[0b11000011] = TilesetIndex(18, 16); |
363 | wallRenders[0b11100001] = TilesetIndex(18, 16); | 371 | wallRenders[0b11100001] = TilesetIndex(18, 16); |
364 | wallRenders[0b11100011] = TilesetIndex(18, 16); | 372 | wallRenders[0b11100011] = TilesetIndex(18, 16); |
373 | wallRenders[0b11001001] = TilesetIndex(18, 16); | ||
374 | wallRenders[0b11011001] = TilesetIndex(18, 16); | ||
365 | 375 | ||
366 | 376 | ||
367 | wallRenders[0b11110111] = TilesetIndex(21, 14); | 377 | wallRenders[0b11110111] = TilesetIndex(21, 14); |
@@ -382,8 +392,20 @@ void Game::recalculateRender() { | |||
382 | 392 | ||
383 | map.at(x,y).renderId = wallRenders.at(renderDesc); | 393 | map.at(x,y).renderId = wallRenders.at(renderDesc); |
384 | 394 | ||
385 | if (wallRenders.at(renderDesc) == 0 && renderDesc != 255) { | 395 | if (wallRenders.at(renderDesc) == TilesetIndex(21, 12) && renderDesc != 255) { |
386 | std::cout << renderDesc << std::endl; | 396 | //std::cout << renderDesc << std::endl; |
397 | std::cout << ((renderDesc & (1 << 7)) ? 'X' : 'O'); | ||
398 | std::cout << ((renderDesc & (1 << 6)) ? 'X' : 'O'); | ||
399 | std::cout << ((renderDesc & (1 << 5)) ? 'X' : 'O'); | ||
400 | std::cout << std::endl; | ||
401 | std::cout << ((renderDesc & (1 << 0)) ? 'X' : 'O'); | ||
402 | std::cout << ' '; | ||
403 | std::cout << ((renderDesc & (1 << 4)) ? 'X' : 'O'); | ||
404 | std::cout << " " << renderDesc << std::endl; | ||
405 | std::cout << ((renderDesc & (1 << 1)) ? 'X' : 'O'); | ||
406 | std::cout << ((renderDesc & (1 << 2)) ? 'X' : 'O'); | ||
407 | std::cout << ((renderDesc & (1 << 3)) ? 'X' : 'O'); | ||
408 | std::cout << std::endl; | ||
387 | } | 409 | } |
388 | } | 410 | } |
389 | } | 411 | } |