mirror of
https://github.com/AquariaOSE/Aquaria.git
synced 2025-02-27 16:44:00 +00:00
fix grid of type OT_BLACKINVIS being drawn like OT_BLACK after map load
reconstructGrid() or editor use fixed this, but that usually didn't happen when playing vanilla maps normally Again, the dreaded black edges, should now be fixed for good...
This commit is contained in:
parent
441fe9f332
commit
4702cd238c
2 changed files with 32 additions and 51 deletions
|
@ -2722,6 +2722,27 @@ void Game::applyState()
|
||||||
gridRenderUser1 = new GridRender(OT_USER1);
|
gridRenderUser1 = new GridRender(OT_USER1);
|
||||||
gridRenderUser2 = new GridRender(OT_USER2);
|
gridRenderUser2 = new GridRender(OT_USER2);
|
||||||
|
|
||||||
|
blackRender->alpha = 1;
|
||||||
|
blackRender->color = Vector(0, 0, 0);
|
||||||
|
blackRender->setBlendType(BLEND_DISABLED);
|
||||||
|
|
||||||
|
gridRender->color = Vector(1, 0, 0);
|
||||||
|
gridRender2->color = Vector(1, 1, 0);
|
||||||
|
gridRender3->color = Vector(1, 0.5f, 0);
|
||||||
|
edgeRender->color = Vector(0.3f, 0, 0.6f);
|
||||||
|
gridRenderEnt->color = Vector(0, 1, 0.5);
|
||||||
|
gridRenderUser1->color = Vector(1, 0, 1);
|
||||||
|
gridRenderUser2->color = Vector(1, 1, 1);
|
||||||
|
|
||||||
|
addRenderObject(blackRender, LR_ELEMENTS4);
|
||||||
|
addRenderObject(gridRender, LR_DEBUG_TEXT);
|
||||||
|
addRenderObject(gridRender2, LR_DEBUG_TEXT);
|
||||||
|
addRenderObject(gridRender3, LR_DEBUG_TEXT);
|
||||||
|
addRenderObject(edgeRender, LR_DEBUG_TEXT);
|
||||||
|
addRenderObject(gridRenderEnt, LR_DEBUG_TEXT);
|
||||||
|
addRenderObject(gridRenderUser1, LR_DEBUG_TEXT);
|
||||||
|
addRenderObject(gridRenderUser2, LR_DEBUG_TEXT);
|
||||||
|
|
||||||
if (verbose) debugLog("Loading Scene");
|
if (verbose) debugLog("Loading Scene");
|
||||||
if(!loadScene(sceneToLoad))
|
if(!loadScene(sceneToLoad))
|
||||||
{
|
{
|
||||||
|
@ -2748,45 +2769,10 @@ void Game::applyState()
|
||||||
songLineRender = new SongLineRender();
|
songLineRender = new SongLineRender();
|
||||||
addRenderObject(songLineRender, LR_HUD);
|
addRenderObject(songLineRender, LR_HUD);
|
||||||
|
|
||||||
|
|
||||||
gridRender->color = Vector(1, 0, 0);
|
|
||||||
addRenderObject(gridRender, LR_DEBUG_TEXT);
|
|
||||||
gridRender->alpha = 0;
|
|
||||||
|
|
||||||
gridRender2->color = Vector(1, 1, 0);
|
|
||||||
addRenderObject(gridRender2, LR_DEBUG_TEXT);
|
|
||||||
gridRender2->alpha = 0;
|
|
||||||
|
|
||||||
gridRender3->color = Vector(1, 0.5f, 0);
|
|
||||||
addRenderObject(gridRender3, LR_DEBUG_TEXT);
|
|
||||||
gridRender3->alpha = 0;
|
|
||||||
|
|
||||||
edgeRender->color = Vector(0.3f, 0, 0.6f);
|
|
||||||
addRenderObject(edgeRender, LR_DEBUG_TEXT);
|
|
||||||
edgeRender->alpha = 0;
|
|
||||||
|
|
||||||
gridRenderEnt->color = Vector(0, 1, 0.5);
|
|
||||||
addRenderObject(gridRenderEnt, LR_DEBUG_TEXT);
|
|
||||||
gridRenderEnt->alpha = 0;
|
|
||||||
|
|
||||||
addRenderObject(gridRenderUser1, LR_DEBUG_TEXT);
|
|
||||||
gridRenderUser1->color = Vector(1, 0, 1);
|
|
||||||
gridRenderUser1->alpha = 0;
|
|
||||||
|
|
||||||
addRenderObject(gridRenderUser2, LR_DEBUG_TEXT);
|
|
||||||
gridRenderUser2->color = Vector(1, 1, 1);
|
|
||||||
gridRenderUser2->alpha = 0;
|
|
||||||
|
|
||||||
waterSurfaceRender = new WaterSurfaceRender();
|
waterSurfaceRender = new WaterSurfaceRender();
|
||||||
//waterSurfaceRender->setRenderPass(-1);
|
//waterSurfaceRender->setRenderPass(-1);
|
||||||
addRenderObject(waterSurfaceRender, LR_WATERSURFACE);
|
addRenderObject(waterSurfaceRender, LR_WATERSURFACE);
|
||||||
|
|
||||||
blackRender->color = Vector(0, 0, 0);
|
|
||||||
//blackRender->alpha = 0;
|
|
||||||
blackRender->setBlendType(BLEND_DISABLED);
|
|
||||||
addRenderObject(blackRender, LR_ELEMENTS4);
|
|
||||||
blackRender->rebuildBuffers(this->obsRows);
|
|
||||||
|
|
||||||
miniMapRender = new MiniMapRender;
|
miniMapRender = new MiniMapRender;
|
||||||
// position is set in minimaprender::onupdate
|
// position is set in minimaprender::onupdate
|
||||||
miniMapRender->scale = Vector(0.55f, 0.55f);
|
miniMapRender->scale = Vector(0.55f, 0.55f);
|
||||||
|
@ -4058,24 +4044,19 @@ static void checkgridrender(GridRender *gr, ObsType obs)
|
||||||
|
|
||||||
void Game::updateGridRender(ObsType obs)
|
void Game::updateGridRender(ObsType obs)
|
||||||
{
|
{
|
||||||
// These are usually not visible. Delay rebuild until they are actually shown.
|
|
||||||
checkgridrender(gridRender, obs);
|
|
||||||
checkgridrender(gridRender2, obs);
|
|
||||||
checkgridrender(gridRender3, obs);
|
|
||||||
checkgridrender(edgeRender, obs);
|
|
||||||
checkgridrender(gridRenderEnt, obs);
|
|
||||||
checkgridrender(gridRenderUser1, obs);
|
|
||||||
checkgridrender(gridRenderUser2, obs);
|
|
||||||
|
|
||||||
// This is normally not necessary, because black is only changed by the editor.
|
// This is normally not necessary, because black is only changed by the editor.
|
||||||
// Keeping it here possibly for future mod compat.
|
// Keeping it here possibly for future mod compat.
|
||||||
// It's also always shown, so we can immediately rebuild it
|
// It's also always shown, so we can immediately rebuild it
|
||||||
if(obs & OT_BLACK)
|
checkgridrender(blackRender, obs);
|
||||||
{
|
|
||||||
// Don't pass this->obsRows here (which is the raw data)!
|
// These are usually not visible. Delay rebuild until they are actually shown.
|
||||||
// Need the changes done by trimGrid() -> need to collect rows anew.
|
checkgridrender(edgeRender, obs);
|
||||||
blackRender->rebuildBuffers();
|
checkgridrender(gridRender, obs);
|
||||||
}
|
checkgridrender(gridRender2, obs);
|
||||||
|
checkgridrender(gridRender3, obs);
|
||||||
|
checkgridrender(gridRenderEnt, obs);
|
||||||
|
checkgridrender(gridRenderUser1, obs);
|
||||||
|
checkgridrender(gridRenderUser2, obs);
|
||||||
}
|
}
|
||||||
|
|
||||||
Vector Game::getCameraPositionFor(const Vector &pos)
|
Vector Game::getCameraPositionFor(const Vector &pos)
|
||||||
|
|
|
@ -76,7 +76,7 @@ GridRender::GridRender(ObsType obsType)
|
||||||
|
|
||||||
position.z = 5;
|
position.z = 5;
|
||||||
cull = false;
|
cull = false;
|
||||||
alpha = 0.5f;
|
alpha = 0.0f;
|
||||||
this->scale.x = TILE_SIZE; // See comment about value scaling below
|
this->scale.x = TILE_SIZE; // See comment about value scaling below
|
||||||
this->scale.y = TILE_SIZE;
|
this->scale.y = TILE_SIZE;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue