From 370e53f4d35c9d6aec37c05e5ba8a80d71f1aaec Mon Sep 17 00:00:00 2001 From: Misa Date: Sun, 18 Apr 2021 23:39:10 -0700 Subject: [PATCH] Draw minimap.png if it is mounted This is a simple change - we draw minimap.png, instead of the generated custom map, if it is a per-level mounted custom asset. Custom levels have already been able to utilize minimap.png, but it was limited - they could do gamemode(teleporter) in a script, and that would show their customized minimap.png, but it's not like the player could look at it during gameplay. I would have done this earlier if I had figured out how to check if a specific asset was mounted or not. --- desktop_version/src/Graphics.cpp | 2 ++ desktop_version/src/Graphics.h | 1 + desktop_version/src/Render.cpp | 11 ++++++++++- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/desktop_version/src/Graphics.cpp b/desktop_version/src/Graphics.cpp index 096db94b..831354a8 100644 --- a/desktop_version/src/Graphics.cpp +++ b/desktop_version/src/Graphics.cpp @@ -149,6 +149,7 @@ void Graphics::init(void) #ifndef NO_CUSTOM_LEVELS tiles1_mounted = false; tiles2_mounted = false; + minimap_mounted = false; #endif } @@ -3402,6 +3403,7 @@ void Graphics::reloadresources(void) #ifndef NO_CUSTOM_LEVELS tiles1_mounted = FILESYSTEM_isAssetMounted("graphics/tiles.png"); tiles2_mounted = FILESYSTEM_isAssetMounted("graphics/tiles2.png"); + minimap_mounted = FILESYSTEM_isAssetMounted("graphics/minimap.png"); #endif } diff --git a/desktop_version/src/Graphics.h b/desktop_version/src/Graphics.h index 9056cffc..29ebdb99 100644 --- a/desktop_version/src/Graphics.h +++ b/desktop_version/src/Graphics.h @@ -220,6 +220,7 @@ public: #ifndef NO_CUSTOM_LEVELS bool tiles1_mounted; bool tiles2_mounted; + bool minimap_mounted; #endif diff --git a/desktop_version/src/Render.cpp b/desktop_version/src/Render.cpp index e44739cd..3965595f 100644 --- a/desktop_version/src/Render.cpp +++ b/desktop_version/src/Render.cpp @@ -1929,11 +1929,19 @@ void maprender(void) } graphics.Print(-1, 105, "NO SIGNAL", 245, 245, 245, true); } +#ifndef NO_CUSTOM_LEVELS else if(map.custommode) { //draw the map image graphics.drawcustompixeltextbox(35+map.custommmxoff, 16+map.custommmyoff, map.custommmxsize+10, map.custommmysize+10, (map.custommmxsize+10)/8, (map.custommmysize+10)/8, 65, 185, 207,4,0); - graphics.drawpartimage(12, 40+map.custommmxoff, 21+map.custommmyoff, map.custommmxsize,map.custommmysize); + if (graphics.minimap_mounted) + { + graphics.drawpartimage(1, 40+map.custommmxoff, 21+map.custommmyoff, map.custommmxsize, map.custommmysize); + } + else + { + graphics.drawpartimage(12, 40+map.custommmxoff, 21+map.custommmyoff, map.custommmxsize,map.custommmysize); + } //Black out here if(map.customzoom==4){ @@ -2038,6 +2046,7 @@ void maprender(void) } } } +#endif /* NO_CUSTOM_LEVELS */ else { //draw the map image