mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2026-02-02 23:42:21 +03:00
Add changerespawncolour() script command
This command simply changes the color that the player respawns with upon death. The respawn color also persists through custom save files. Closes #830.
This commit is contained in:
@@ -363,6 +363,8 @@ void Game::init(void)
|
|||||||
disableaudiopause = false;
|
disableaudiopause = false;
|
||||||
disabletemporaryaudiopause = true;
|
disabletemporaryaudiopause = true;
|
||||||
inputdelay = false;
|
inputdelay = false;
|
||||||
|
|
||||||
|
respawncolour = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Game::lifesequence(void)
|
void Game::lifesequence(void)
|
||||||
@@ -5198,6 +5200,10 @@ void Game::customloadquick(const std::string& savfile)
|
|||||||
{
|
{
|
||||||
map.showtrinkets = help.Int(pText);
|
map.showtrinkets = help.Int(pText);
|
||||||
}
|
}
|
||||||
|
else if (SDL_strcmp(pKey, "respawncolour") == 0)
|
||||||
|
{
|
||||||
|
respawncolour = help.Int(pText);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5670,6 +5676,8 @@ bool Game::customsavequick(const std::string& savfile)
|
|||||||
|
|
||||||
xml::update_tag(msgs, "showtrinkets", (int) map.showtrinkets);
|
xml::update_tag(msgs, "showtrinkets", (int) map.showtrinkets);
|
||||||
|
|
||||||
|
xml::update_tag(msgs, "respawncolour", respawncolour);
|
||||||
|
|
||||||
std::string summary = savearea + ", " + timestring();
|
std::string summary = savearea + ", " + timestring();
|
||||||
xml::update_tag(msgs, "summary", summary.c_str());
|
xml::update_tag(msgs, "summary", summary.c_str());
|
||||||
|
|
||||||
|
|||||||
@@ -481,6 +481,8 @@ public:
|
|||||||
bool disableaudiopause;
|
bool disableaudiopause;
|
||||||
bool disabletemporaryaudiopause;
|
bool disabletemporaryaudiopause;
|
||||||
bool inputdelay;
|
bool inputdelay;
|
||||||
|
|
||||||
|
int respawncolour;
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifndef GAME_DEFINITION
|
#ifndef GAME_DEFINITION
|
||||||
|
|||||||
@@ -833,7 +833,7 @@ void mapclass::resetplayer(const bool player_died)
|
|||||||
obj.entities[i].newyp = obj.entities[i].yp;
|
obj.entities[i].newyp = obj.entities[i].yp;
|
||||||
|
|
||||||
obj.entities[i].dir = game.savedir;
|
obj.entities[i].dir = game.savedir;
|
||||||
obj.entities[i].colour = 0;
|
obj.entities[i].colour = game.respawncolour;
|
||||||
if (player_died)
|
if (player_died)
|
||||||
{
|
{
|
||||||
game.lifeseq = 10;
|
game.lifeseq = 10;
|
||||||
|
|||||||
@@ -1672,6 +1672,10 @@ void scriptclass::run(void)
|
|||||||
obj.entities[i].colour = getcolorfromname(words[1]);
|
obj.entities[i].colour = getcolorfromname(words[1]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (words[0] == "changerespawncolour")
|
||||||
|
{
|
||||||
|
game.respawncolour = getcolorfromname(words[1]);
|
||||||
|
}
|
||||||
else if (words[0] == "altstates")
|
else if (words[0] == "altstates")
|
||||||
{
|
{
|
||||||
obj.altstates = ss_toi(words[1]);
|
obj.altstates = ss_toi(words[1]);
|
||||||
@@ -3184,6 +3188,8 @@ void scriptclass::hardreset(void)
|
|||||||
|
|
||||||
game.disabletemporaryaudiopause = true;
|
game.disabletemporaryaudiopause = true;
|
||||||
|
|
||||||
|
game.respawncolour = 0;
|
||||||
|
|
||||||
//dwgraphicsclass
|
//dwgraphicsclass
|
||||||
graphics.backgrounddrawn = false;
|
graphics.backgrounddrawn = false;
|
||||||
graphics.textbox.clear();
|
graphics.textbox.clear();
|
||||||
|
|||||||
Reference in New Issue
Block a user