From 0291139d27babe00618eb30a8be98b51964399f0 Mon Sep 17 00:00:00 2001
From: Frederik <frederik@prasch.de>
Date: Thu, 6 Feb 2025 01:27:15 +0100
Subject: [PATCH] Fix Inverse cliff corners having wrong move cost

---
 src/game/Level.hpp | 67 +++++++++++++++++++++++-----------------------
 1 file changed, 34 insertions(+), 33 deletions(-)

diff --git a/src/game/Level.hpp b/src/game/Level.hpp
index f3f25a1..c4d0628 100644
--- a/src/game/Level.hpp
+++ b/src/game/Level.hpp
@@ -22,39 +22,40 @@ namespace advanced_wars
 const int NUM_TILE_IDS = 30; // Aktualisieren, falls weitere IDs hinzugefügt werden
 const int NUM_MOVEMENT_TYPES = 6;
 
-
-const std::array<std::array<int, NUM_MOVEMENT_TYPES>, NUM_TILE_IDS> moveCostTable = {{
-    // FOOT, WHEELED, TREAD, AIR, SEA, LANDER
-    {  1,      2,       1,    1, 999,   999 }, // PLAIN
-    {999,    999,     999,    1,   1,     1 }, // WATER
-    {  1,      3,       2,    1, 999,   999 }, // FOREST
-    {  2,    999,     999,    1, 999,   999 }, // MOUNTAIN
-    {  1,      1,       1,    1, 999,   999 }, // BRIDGE_HORIZONTAL
-    {  1,      1,       1,    1, 999,   999 }, // STREET_HORIZONTAL
-    {  1,      1,       1,    1, 999,   999 }, // STREET_VERTICAL
-    {  1,      1,       1,    1, 999,   999 }, // STREET_CROSSING
-    {  1,      1,       1,    1, 999,   999 }, // STREET_JUNCTION_RIGHT
-    {  1,      1,       1,    1, 999,   999 }, // STREET_JUNCTION_LEFT
-    {  1,      1,       1,    1, 999,   999 }, // STREET_JUNCTION_DOWN
-    {  1,      1,       1,    1, 999,   999 }, // STREET_JUNCTION_UP
-    {  1,      1,       1,    1, 999,   999 }, // STREET_CORNER_TOP_LEFT
-    {  1,      1,       1,    1, 999,   999 }, // STREET_CORNER_TOP_RIGHT
-    {  1,      1,       1,    1, 999,   999 }, // STREET_CORNER_BOTTOM_LEFT
-    {  1,      1,       1,    1, 999,   999 }, // STREET_CORNER_BOTTOM_RIGHT 
-    {999,    999,     999,    1,   2,     2 }, // RIFF
-    {999,    999,     999,    1,   1,     1 }, // CLIFF_TOP
-    {999,    999,     999,    1,   1,     1 }, // CLIFF_BOTTOM
-    {999,    999,     999,    1,   1,     1 }, // CLIFF_LEFT
-    {999,    999,     999,    1,   1,     1 }, // CLIFF_RIGHT
-    {999,    999,     999,    1,   1,     1 }, // CLIFF_CORNER_TOP_LEFT
-    {999,    999,     999,    1,   1,     1 }, // CLIFF_CORNER_TOP_RIGHT
-    {999,    999,     999,    1,   1,     1 }, // CLIFF_CORNER_BOTTOM_LEFT
-    {999,    999,     999,    1,   1,     1 }, // CLIFF_CORNER_BOTTOM_RIGHT
-    {  1,      2,       1,    1, 999,   999 }, // CLIFF_INVERSE_CORNER_TOP_LEFT
-    {  1,      2,       1,    1, 999,   999 }, // CLIFF_INVERSE_CORNER_TOP_RIGHT
-    {  1,      2,       1,    1, 999,   999 }, // CLIFF_INVERSE_CORNER_BOTTOM_LEFT
-    {  1,      2,       1,    1, 999,   999 }, // CLIFF_INVERSE_CORNER_BOTTOM_RIGHT
-}};
+const std::array<std::array<int, NUM_MOVEMENT_TYPES>, NUM_TILE_IDS> moveCostTable = {
+    {
+     // FOOT, WHEELED, TREAD, AIR, SEA, LANDER
+        {1, 2, 1, 1, 999, 999},     // PLAIN
+        {999, 999, 999, 1, 1, 1},   // WATER
+        {1, 3, 2, 1, 999, 999},     // FOREST
+        {2, 999, 999, 1, 999, 999}, // MOUNTAIN
+        {1, 1, 1, 1, 999, 999},     // BRIDGE_HORIZONTAL
+        {1, 1, 1, 1, 999, 999},     // STREET_HORIZONTAL
+        {1, 1, 1, 1, 999, 999},     // STREET_VERTICAL
+        {1, 1, 1, 1, 999, 999},     // STREET_CROSSING
+        {1, 1, 1, 1, 999, 999},     // STREET_JUNCTION_RIGHT
+        {1, 1, 1, 1, 999, 999},     // STREET_JUNCTION_LEFT
+        {1, 1, 1, 1, 999, 999},     // STREET_JUNCTION_DOWN
+        {1, 1, 1, 1, 999, 999},     // STREET_JUNCTION_UP
+        {1, 1, 1, 1, 999, 999},     // STREET_CORNER_TOP_LEFT
+        {1, 1, 1, 1, 999, 999},     // STREET_CORNER_TOP_RIGHT
+        {1, 1, 1, 1, 999, 999},     // STREET_CORNER_BOTTOM_LEFT
+        {1, 1, 1, 1, 999, 999},     // STREET_CORNER_BOTTOM_RIGHT
+        {999, 999, 999, 1, 2, 2},   // RIFF
+        {999, 999, 999, 1, 1, 1},   // CLIFF_TOP
+        {999, 999, 999, 1, 1, 1},   // CLIFF_BOTTOM
+        {999, 999, 999, 1, 1, 1},   // CLIFF_LEFT
+        {999, 999, 999, 1, 1, 1},   // CLIFF_RIGHT
+        {999, 999, 999, 1, 1, 1},   // CLIFF_CORNER_TOP_LEFT
+        {999, 999, 999, 1, 1, 1},   // CLIFF_CORNER_TOP_RIGHT
+        {999, 999, 999, 1, 1, 1},   // CLIFF_CORNER_BOTTOM_LEFT
+        {999, 999, 999, 1, 1, 1},   // CLIFF_CORNER_BOTTOM_RIGHT
+        {999, 999, 999, 1, 1, 1},   // CLIFF_INVERSE_CORNER_TOP_LEFT
+        {999, 999, 999, 1, 1, 1},   // CLIFF_INVERSE_CORNER_TOP_RIGHT
+        {999, 999, 999, 1, 1, 1},   // CLIFF_INVERSE_CORNER_BOTTOM_LEFT
+        {999, 999, 999, 1, 1, 1},   // CLIFF_INVERSE_CORNER_BOTTOM_RIGHT
+    }
+};
 
 enum class LevelState
 {
-- 
GitLab