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);
|
||||
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(!loadScene(sceneToLoad))
|
||||
{
|
||||
|
@ -2748,45 +2769,10 @@ void Game::applyState()
|
|||
songLineRender = new SongLineRender();
|
||||
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->setRenderPass(-1);
|
||||
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;
|
||||
// position is set in minimaprender::onupdate
|
||||
miniMapRender->scale = Vector(0.55f, 0.55f);
|
||||
|
@ -4058,24 +4044,19 @@ static void checkgridrender(GridRender *gr, 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.
|
||||
// Keeping it here possibly for future mod compat.
|
||||
// It's also always shown, so we can immediately rebuild it
|
||||
if(obs & OT_BLACK)
|
||||
{
|
||||
// Don't pass this->obsRows here (which is the raw data)!
|
||||
// Need the changes done by trimGrid() -> need to collect rows anew.
|
||||
blackRender->rebuildBuffers();
|
||||
}
|
||||
checkgridrender(blackRender, obs);
|
||||
|
||||
// These are usually not visible. Delay rebuild until they are actually shown.
|
||||
checkgridrender(edgeRender, obs);
|
||||
checkgridrender(gridRender, obs);
|
||||
checkgridrender(gridRender2, obs);
|
||||
checkgridrender(gridRender3, obs);
|
||||
checkgridrender(gridRenderEnt, obs);
|
||||
checkgridrender(gridRenderUser1, obs);
|
||||
checkgridrender(gridRenderUser2, obs);
|
||||
}
|
||||
|
||||
Vector Game::getCameraPositionFor(const Vector &pos)
|
||||
|
|
|
@ -76,7 +76,7 @@ GridRender::GridRender(ObsType obsType)
|
|||
|
||||
position.z = 5;
|
||||
cull = false;
|
||||
alpha = 0.5f;
|
||||
alpha = 0.0f;
|
||||
this->scale.x = TILE_SIZE; // See comment about value scaling below
|
||||
this->scale.y = TILE_SIZE;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue