mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2025-01-08 18:09:45 +01:00
Add being able to override the one-way recolor
Disabling the one-way recolor if assets are mounted is needed to make existing levels not look bad, but what about levels that want to use the recolor anyway? The best solution here is to just introduce another bool into the XML, and make the re-color opt-in and only present if assets are mounted if that tag is present.
This commit is contained in:
parent
2d21bab4ea
commit
5201f67909
3 changed files with 19 additions and 4 deletions
|
@ -640,7 +640,7 @@ void Graphics::drawtile( int x, int y, int t )
|
|||
SDL_Rect rect = { Sint16(x), Sint16(y), tiles_rect.w, tiles_rect.h };
|
||||
|
||||
#if !defined(NO_CUSTOM_LEVELS)
|
||||
if (t >= 14 && t <= 17 && !FILESYSTEM_assetsmounted)
|
||||
if (t >= 14 && t <= 17 && (!FILESYSTEM_assetsmounted || ed.onewaycol_override))
|
||||
{
|
||||
colourTransform thect = {ed.getonewaycol()};
|
||||
BlitSurfaceTinted(tiles[t], NULL, backBuffer, &rect, thect);
|
||||
|
@ -663,7 +663,7 @@ void Graphics::drawtile2( int x, int y, int t )
|
|||
SDL_Rect rect = { Sint16(x), Sint16(y), tiles_rect.w, tiles_rect.h };
|
||||
|
||||
#if !defined(NO_CUSTOM_LEVELS)
|
||||
if (t >= 14 && t <= 17 && !FILESYSTEM_assetsmounted)
|
||||
if (t >= 14 && t <= 17 && (!FILESYSTEM_assetsmounted || ed.onewaycol_override))
|
||||
{
|
||||
colourTransform thect = {ed.getonewaycol()};
|
||||
BlitSurfaceTinted(tiles2[t], NULL, backBuffer, &rect, thect);
|
||||
|
@ -3119,7 +3119,7 @@ void Graphics::drawforetile(int x, int y, int t)
|
|||
setRect(rect, x,y,tiles_rect.w, tiles_rect.h);
|
||||
|
||||
#if !defined(NO_CUSTOM_LEVELS)
|
||||
if (t >= 14 && t <= 17 && !FILESYSTEM_assetsmounted)
|
||||
if (t >= 14 && t <= 17 && (!FILESYSTEM_assetsmounted || ed.onewaycol_override))
|
||||
{
|
||||
colourTransform thect = {ed.getonewaycol()};
|
||||
BlitSurfaceTinted(tiles[t], NULL, foregroundBuffer, &rect, thect);
|
||||
|
@ -3142,7 +3142,7 @@ void Graphics::drawforetile2(int x, int y, int t)
|
|||
setRect(rect, x,y,tiles_rect.w, tiles_rect.h);
|
||||
|
||||
#if !defined(NO_CUSTOM_LEVELS)
|
||||
if (t >= 14 && t <= 17 && !FILESYSTEM_assetsmounted)
|
||||
if (t >= 14 && t <= 17 && (!FILESYSTEM_assetsmounted || ed.onewaycol_override))
|
||||
{
|
||||
colourTransform thect = {ed.getonewaycol()};
|
||||
BlitSurfaceTinted(tiles2[t], NULL, foregroundBuffer, &rect, thect);
|
||||
|
|
|
@ -398,6 +398,8 @@ void editorclass::reset()
|
|||
|
||||
ghosts.clear();
|
||||
currentghosts = 0;
|
||||
|
||||
onewaycol_override = false;
|
||||
}
|
||||
|
||||
void editorclass::gethooks()
|
||||
|
@ -1708,6 +1710,11 @@ bool editorclass::load(std::string& _path)
|
|||
{
|
||||
website = pText;
|
||||
}
|
||||
|
||||
if(pKey == "onewaycol_override")
|
||||
{
|
||||
onewaycol_override = atoi(pText);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1993,6 +2000,13 @@ bool editorclass::save(std::string& _path)
|
|||
meta->LinkEndChild( doc.NewText( website.c_str() ));
|
||||
msg->LinkEndChild( meta );
|
||||
|
||||
if (onewaycol_override)
|
||||
{
|
||||
meta = doc.NewElement( "onewaycol_override" );
|
||||
meta->LinkEndChild( doc.NewText( help.String(onewaycol_override).c_str() ));
|
||||
msg->LinkEndChild( meta );
|
||||
}
|
||||
|
||||
data->LinkEndChild( msg );
|
||||
|
||||
msg = doc.NewElement( "mapwidth" );
|
||||
|
|
|
@ -241,6 +241,7 @@ class editorclass{
|
|||
|
||||
Uint32 getonewaycol(const int rx, const int ry);
|
||||
Uint32 getonewaycol();
|
||||
bool onewaycol_override;
|
||||
|
||||
int returneditoralpha;
|
||||
int oldreturneditoralpha;
|
||||
|
|
Loading…
Reference in a new issue