From da23e84333230813e1cd688ce4b6ad92f9fdcf5c Mon Sep 17 00:00:00 2001 From: Schark Date: Sun, 17 Mar 2024 03:29:39 -0700 Subject: Square edge discrepancies, need to fix --- height-map-display/src/map/square.c | 20 +++++++++++++------- height-map-display/src/map/square.h | 8 ++++++-- 2 files changed, 19 insertions(+), 9 deletions(-) (limited to 'height-map-display/src/map') diff --git a/height-map-display/src/map/square.c b/height-map-display/src/map/square.c index 1d74ff5..f963fa3 100644 --- a/height-map-display/src/map/square.c +++ b/height-map-display/src/map/square.c @@ -5,17 +5,23 @@ #include #include -Square* init_square(Node *nodes[4], Terrain_Type terrain) { +Square* init_square(Node *tl, Node *tr, Node *bl, Node *br, Terrain_Type terrain) { Square* square; - for (int i; i < 4; i++) { - square->nodes[i] = nodes[i]; - } + square->node_tl = tl; + square->node_tr = tr; + square->node_bl = bl; + square->node_br = br; square->terrain = terrain; return square; } void change_square_height(Square* square, float diff) { - for (int i = 0; i < 4; i++) { - square->nodes[i]->elevation = square->nodes[i]->elevation + diff; - } + square->node_tl->elevation = square->node_tl->elevation + diff; + square->node_tr->elevation = square->node_tr->elevation + diff; + square->node_bl->elevation = square->node_bl->elevation + diff; + square->node_br->elevation = square->node_br->elevation + diff; +} + +void change_square_terrain(Square* square, Terrain_Type terrain) { + square->terrain = terrain; } diff --git a/height-map-display/src/map/square.h b/height-map-display/src/map/square.h index d40e7d1..2654eb5 100644 --- a/height-map-display/src/map/square.h +++ b/height-map-display/src/map/square.h @@ -13,12 +13,16 @@ typedef enum { // Define the Square struct typedef struct Square { Terrain_Type terrain; - Node *nodes[4]; // Array of Node pointers + Node *node_tl; + Node *node_tr; + Node *node_bl; + Node *node_br; } Square; // Function prototypes -Square* init_square(Node *nodes[4], Terrain_Type terrain); +Square* init_square(Node *tl, Node *tr, Node *bl, Node *br, Terrain_Type terrain); void change_square_height(Square* square, float diff); +void change_square_terrain(Square* square, Terrain_Type terrain); #endif -- cgit v1.2.3-18-g5258