From 4268fedce00267857146f340451876835ca5d9bb Mon Sep 17 00:00:00 2001 From: Denis Pauk Date: Sun, 23 Jun 2024 18:38:35 +0300 Subject: [PATCH] filesystem: fix maps autocomplete for Anachronox --- src/client/refresh/files/stb.c | 7 +++++++ src/client/refresh/gl1/gl1_draw.c | 7 +++++++ src/client/refresh/gl3/gl3_draw.c | 7 +++++++ src/client/refresh/gl4/gl4_draw.c | 13 +++++++++++++ src/client/refresh/soft/sw_draw.c | 7 +++++++ src/client/refresh/vk/vk_draw.c | 7 +++++++ src/common/filesystem.c | 1 + 7 files changed, 49 insertions(+) diff --git a/src/client/refresh/files/stb.c b/src/client/refresh/files/stb.c index 52e33eab..4d10ff77 100644 --- a/src/client/refresh/files/stb.c +++ b/src/client/refresh/files/stb.c @@ -735,6 +735,13 @@ R_FindPic(const char *name, findimage_t find_image) Com_sprintf(pathname, sizeof(pathname), "pics/%s.pcx", namewe); image = find_image(pathname, it_pic); + /* Anachronox */ + if (!image) + { + Com_sprintf(pathname, sizeof(pathname), "graphics/%s.pcx", namewe); + image = find_image(pathname, it_pic); + } + /* Heretic 2 */ if (!image) { diff --git a/src/client/refresh/gl1/gl1_draw.c b/src/client/refresh/gl1/gl1_draw.c index 3145384d..9e814a30 100644 --- a/src/client/refresh/gl1/gl1_draw.c +++ b/src/client/refresh/gl1/gl1_draw.c @@ -38,6 +38,13 @@ Draw_InitLocal(void) { /* load console characters */ draw_chars = R_FindPic("conchars", (findimage_t)R_FindImage); + + /* Anachronox */ + if (!draw_chars) + { + draw_chars = R_FindPic ("fonts/conchars", (findimage_t)R_FindImage); + } + /* Daikatana */ if (!draw_chars) { diff --git a/src/client/refresh/gl3/gl3_draw.c b/src/client/refresh/gl3/gl3_draw.c index 9b42df07..cc39f124 100644 --- a/src/client/refresh/gl3/gl3_draw.c +++ b/src/client/refresh/gl3/gl3_draw.c @@ -38,6 +38,13 @@ GL3_Draw_InitLocal(void) { /* load console characters */ draw_chars = R_FindPic("conchars", (findimage_t)GL3_FindImage); + + /* Anachronox */ + if (!draw_chars) + { + draw_chars = R_FindPic ("fonts/conchars", (findimage_t)GL3_FindImage); + } + /* Daikatana */ if (!draw_chars) { diff --git a/src/client/refresh/gl4/gl4_draw.c b/src/client/refresh/gl4/gl4_draw.c index e112ff33..c10bb6e8 100644 --- a/src/client/refresh/gl4/gl4_draw.c +++ b/src/client/refresh/gl4/gl4_draw.c @@ -38,6 +38,19 @@ GL4_Draw_InitLocal(void) { /* load console characters */ draw_chars = R_FindPic("conchars", (findimage_t)GL4_FindImage); + + /* Anachronox */ + if (!draw_chars) + { + draw_chars = R_FindPic ("fonts/conchars", (findimage_t)GL4_FindImage); + } + + /* Daikatana */ + if (!draw_chars) + { + draw_chars = R_FindPic ("dkchars", (findimage_t)GL4_FindImage); + } + if (!draw_chars) { Com_Error(ERR_FATAL, "%s: Couldn't load pics/conchars.pcx", diff --git a/src/client/refresh/soft/sw_draw.c b/src/client/refresh/soft/sw_draw.c index 72f5ae32..dcefb98e 100644 --- a/src/client/refresh/soft/sw_draw.c +++ b/src/client/refresh/soft/sw_draw.c @@ -48,6 +48,13 @@ void Draw_InitLocal (void) { draw_chars = R_FindPic ("conchars", (findimage_t)R_FindImage); + + /* Anachronox */ + if (!draw_chars) + { + draw_chars = R_FindPic ("fonts/conchars", (findimage_t)R_FindImage); + } + /* Daikatana */ if (!draw_chars) { diff --git a/src/client/refresh/vk/vk_draw.c b/src/client/refresh/vk/vk_draw.c index 744154b3..ae086320 100644 --- a/src/client/refresh/vk/vk_draw.c +++ b/src/client/refresh/vk/vk_draw.c @@ -32,6 +32,13 @@ Draw_InitLocal void Draw_InitLocal (void) { draw_chars = R_FindPic ("conchars", (findimage_t)Vk_FindImage); + + /* Anachronox */ + if (!draw_chars) + { + draw_chars = R_FindPic ("fonts/conchars", (findimage_t)Vk_FindImage); + } + /* Daikatana */ if (!draw_chars) { diff --git a/src/common/filesystem.c b/src/common/filesystem.c index e8f8ad57..71d222f1 100644 --- a/src/common/filesystem.c +++ b/src/common/filesystem.c @@ -1036,6 +1036,7 @@ FS_LoadDAT(const char *packPath) strncpy(prefix, prefixpos + 1, Q_min(strlen(prefixpos) - 5, sizeof(prefix) - 1)); + Q_strlwr(prefix); prefix_size = strlen(prefix); /* Parse the directory. */