Skip to content

Commit

Permalink
Add mapexplored(), mapreveal() commands
Browse files Browse the repository at this point in the history
  • Loading branch information
mothbeanie authored and InfoTeddy committed Sep 28, 2024
1 parent c04c6bc commit 8a00ea7
Show file tree
Hide file tree
Showing 4 changed files with 50 additions and 5 deletions.
6 changes: 6 additions & 0 deletions desktop_version/src/Game.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5930,6 +5930,10 @@ void Game::customloadquick(const std::string& savfile)
{
map.customshowmm = help.Int(pText);
}
else if (SDL_strcmp(pKey, "mapreveal") == 0)
{
map.revealmap = help.Int(pText);
}
else if (SDL_strcmp(pKey, "disabletemporaryaudiopause") == 0)
{
disabletemporaryaudiopause = help.Int(pText);
Expand Down Expand Up @@ -6369,6 +6373,8 @@ bool Game::customsavequick(const std::string& savfile)

xml::update_tag(msgs, "showminimap", (int) map.customshowmm);

xml::update_tag(msgs, "mapreveal", (int) map.revealmap);

xml::update_tag(msgs, "disabletemporaryaudiopause", (int) disabletemporaryaudiopause);

xml::update_tag(msgs, "showtrinkets", (int) map.showtrinkets);
Expand Down
18 changes: 14 additions & 4 deletions desktop_version/src/Map.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ mapclass::mapclass(void)
custommmxoff=0; custommmyoff=0; custommmxsize=0; custommmysize=0;
customzoom=0;
customshowmm=true;
revealmap = true;

rcol = 0;

Expand Down Expand Up @@ -198,6 +199,12 @@ void mapclass::resetmap(void)
SDL_memset(explored, 0, sizeof(explored));
}

void mapclass::fullmap(void)
{
//mark the whole map as explored
SDL_memset(explored, 1, sizeof(explored));
}

void mapclass::updateroomnames(void)
{
if (roomnameset)
Expand Down Expand Up @@ -1304,12 +1311,15 @@ static void copy_short_to_int(int* dest, const short* src, const size_t size)
void mapclass::loadlevel(int rx, int ry)
{
int t;
if (!finalmode)
if (revealmap)
{
setexplored(rx - 100, ry - 100, true);
if (rx == 109 && !custommode)
if (!finalmode)
{
exploretower();
setexplored(rx - 100, ry - 100, true);
if (rx == 109 && !custommode)
{
exploretower();
}
}
}

Expand Down
4 changes: 4 additions & 0 deletions desktop_version/src/Map.h
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@ class mapclass

void resetmap(void);

void fullmap(void);

void updateroomnames(void);

void initmapdata(void);
Expand Down Expand Up @@ -125,6 +127,8 @@ class mapclass
bool isexplored(const int rx, const int ry);
void setexplored(const int rx, const int ry, const bool status);

bool revealmap;

int background;
int rcol;
int tileset;
Expand Down
27 changes: 26 additions & 1 deletion desktop_version/src/Script.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1330,6 +1330,28 @@ void scriptclass::run(void)
map.setexplored(19, 7, false);
map.setexplored(19, 8, false);
}
else if (words[0] == "mapexplored")
{
if (words[1] == "none")
{
map.resetmap();
}
else if (words[1] == "all")
{
map.fullmap();
}
}
else if (words[0] == "mapreveal")
{
if (words[1] == "on")
{
map.revealmap = true;
}
else if (words[1] == "off")
{
map.revealmap = false;
}
}
else if (words[0] == "showteleporters")
{
map.showteleporters = true;
Expand Down Expand Up @@ -2830,6 +2852,7 @@ void scriptclass::startgamemode(const enum StartMode mode)
map.custommode = true;
map.custommodeforreal = false;
map.customshowmm = true;
map.revealmap = true;

if (cl.levmusic > 0)
{
Expand All @@ -2856,6 +2879,7 @@ void scriptclass::startgamemode(const enum StartMode mode)
cl.findstartpoint();

map.customshowmm = true;
map.revealmap = true;

music.fadeout();
game.customstart();
Expand Down Expand Up @@ -3228,7 +3252,8 @@ void scriptclass::hardreset(void)
map.cameraseekframe = 0;
map.resumedelay = 0;
graphics.towerbg.scrolldir = 0;
map.customshowmm=true;
map.customshowmm = true;
map.revealmap = true;

SDL_memset(map.roomdeaths, 0, sizeof(map.roomdeaths));
SDL_memset(map.roomdeathsfinal, 0, sizeof(map.roomdeathsfinal));
Expand Down

0 comments on commit 8a00ea7

Please sign in to comment.