aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Janzen <jjanzenn@proton.me>2024-05-02 20:33:11 -0500
committerJacob Janzen <jjanzenn@proton.me>2024-05-02 20:33:11 -0500
commit3cd1ec2279e98f9569587b38008ad0011f97e602 (patch)
tree8751ee024e444ee0b1208fad4a0cb3f6a4360f44
parent39cfe71bffeadefdac980d153fa41ee41b712a65 (diff)
fix on linuxHEADmain
-rw-r--r--configure.ac5
-rw-r--r--src/display.c25
-rw-r--r--src/main.c2
3 files changed, 14 insertions, 18 deletions
diff --git a/configure.ac b/configure.ac
index 6cd8084..5ded62c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4,8 +4,9 @@ AC_CONFIG_SRCDIR([src/main.c])
AC_CONFIG_AUX_DIR([build-aux])
AC_PROG_CC
-AC_CHECK_LIB([curses], [initscr])
-AC_CHECK_HEADERS([curses.h])
+AC_CHECK_LIB([ncurses], [initscr])
+AC_CHECK_LIB([tinfo], [stdscr])
+AC_CHECK_HEADERS([ncurses.h])
AM_INIT_AUTOMAKE([foreign -Wall -Werror])
diff --git a/src/display.c b/src/display.c
index 28bd823..e79ed2c 100644
--- a/src/display.c
+++ b/src/display.c
@@ -14,6 +14,7 @@ received a copy of the GNU General Public License along with urlg. If not, see
#include <curses.h>
#include <locale.h>
#include <stdlib.h>
+#include <string.h>
#include "entity.h"
@@ -135,19 +136,13 @@ void display_map(display_t *disp, struct map *map, ht_t *entities)
case WALL :
if (map_i > 0 &&
map->map[(map_i - 1) * map->width + map_j] != WALL) {
- mvwprintw(disp->main, i, j, "█");
- } else if (map_i < map->width - 1 &&
- map->map[(map_i + 1) * map->width + map_j] !=
- WALL) {
- mvwprintw(disp->main, i, j, "█");
- } else if (map_j > 0 &&
- map->map[map_i * map->width + map_j - 1] !=
- WALL) {
- mvwprintw(disp->main, i, j, "█");
- } else if (map_j < map->width - 1 &&
- map->map[map_i * map->width + map_j + 1] !=
- WALL) {
- mvwprintw(disp->main, i, j, "█");
+ mvwaddch(disp->main, i, j, ACS_BLOCK);
+ } else if (map_i < map->width - 1 && map->map[(map_i + 1) * map->width + map_j] != WALL) {
+ mvwaddch(disp->main, i, j, ACS_BLOCK);
+ } else if (map_j > 0 && map->map[map_i * map->width + map_j - 1] != WALL) {
+ mvwaddch(disp->main, i, j, ACS_BLOCK);
+ } else if (map_j < map->width - 1 && map->map[map_i * map->width + map_j + 1] != WALL) {
+ mvwaddch(disp->main, i, j, ACS_BLOCK);
} else {
mvwaddch(disp->main, i, j, ' ');
}
@@ -164,9 +159,9 @@ void display_map(display_t *disp, struct map *map, ht_t *entities)
while (kvp.key) {
struct entity *e = kvp.val;
if (e->visible) {
- mvwprintw(
+ mvwaddch(
disp->main, e->p.y - camera->p.y + 1, e->p.x - camera->p.x + 1,
- e->disp_ch
+ e->disp_ch[0]
);
}
diff --git a/src/main.c b/src/main.c
index 6d898eb..5278d3e 100644
--- a/src/main.c
+++ b/src/main.c
@@ -149,7 +149,7 @@ int main(int argc, char **argv)
// create the camera
struct entity camera;
- camera.disp_ch = "";
+ camera.disp_ch = " ";
camera.solid = false;
camera.visible = false;
ht_insert(entities, "camera", &camera);