Debug menu additions

This commit is contained in:
austin 2022-03-17 00:18:51 -04:00
parent af0a54b336
commit 34ea6d45cf
3 changed files with 75 additions and 10 deletions

View File

@ -95,7 +95,22 @@ public class UserSettings {
return graphicsDebugDrawNavmesh;
}
public void setGraphicsDebugDrawCollisionSpheres(boolean draw){
this.graphicsDebugDrawCollisionSpheres = draw;
}
public void setGraphicsDebugDrawPhysicsObjects(boolean draw){
this.graphicsDebugDrawPhysicsObjects = draw;
}
public void setGraphicsDebugDrawMovementVectors(boolean draw){
this.graphicsDebugDrawMovementVectors = draw;
}
public void setGraphicsDebugDrawNavmesh(boolean draw){
this.graphicsDebugDrawNavmesh = draw;
}

View File

@ -573,6 +573,54 @@ public class MenuGenerators {
return false;
}});
//label (toggle draw collision spheres)
Button toggleCollisionSpheresButton = new Button();
Label toggleCollisionSpheresLabel = new Label(100,1350,fontSize);
toggleCollisionSpheresLabel.setText("Toggle draw collision spheres");
toggleCollisionSpheresButton.addChild(toggleCollisionSpheresLabel);
scrollable.addChild(toggleCollisionSpheresButton);
toggleCollisionSpheresButton.setOnClick(new ClickableElement.ClickEventCallback(){public boolean execute(ClickEvent event){
// Main.running = false;
Globals.userSettings.setGraphicsDebugDrawCollisionSpheres(!Globals.userSettings.graphicsDebugDrawCollisionSpheres());
return false;
}});
//label (toggle draw physics objects)
Button togglePhysicsObjectsButton = new Button();
Label togglePhysicsObjectsLabel = new Label(100,1450,fontSize);
togglePhysicsObjectsLabel.setText("Toggle draw physics objects");
togglePhysicsObjectsButton.addChild(togglePhysicsObjectsLabel);
scrollable.addChild(togglePhysicsObjectsButton);
togglePhysicsObjectsButton.setOnClick(new ClickableElement.ClickEventCallback(){public boolean execute(ClickEvent event){
// Main.running = false;
Globals.userSettings.setGraphicsDebugDrawPhysicsObjects(!Globals.userSettings.graphicsDebugDrawPhysicsObjects());
return false;
}});
//label (toggle draw movement vectors)
Button toggleMovementVectorsButton = new Button();
Label toggleMovementVectorsLabel = new Label(100,1550,fontSize);
toggleMovementVectorsLabel.setText("Toggle draw movement vectors");
toggleMovementVectorsButton.addChild(toggleMovementVectorsLabel);
scrollable.addChild(toggleMovementVectorsButton);
toggleMovementVectorsButton.setOnClick(new ClickableElement.ClickEventCallback(){public boolean execute(ClickEvent event){
// Main.running = false;
Globals.userSettings.setGraphicsDebugDrawMovementVectors(!Globals.userSettings.graphicsDebugDrawMovementVectors());
return false;
}});
//label (toggle draw navmesh)
Button toggleNavmeshButton = new Button();
Label toggleNavmeshLabel = new Label(100,1650,fontSize);
toggleNavmeshLabel.setText("Toggle draw navmesh");
toggleNavmeshButton.addChild(toggleNavmeshLabel);
scrollable.addChild(toggleNavmeshButton);
toggleNavmeshButton.setOnClick(new ClickableElement.ClickEventCallback(){public boolean execute(ClickEvent event){
// Main.running = false;
Globals.userSettings.setGraphicsDebugDrawNavmesh(!Globals.userSettings.graphicsDebugDrawNavmesh());
return false;
}});
return rVal;
}

View File

@ -204,7 +204,7 @@ public class Model {
Iterator<Mesh> mesh_Iterator = meshes.iterator();
while(mesh_Iterator.hasNext()){
Mesh currentMesh = mesh_Iterator.next();
if(!meshMask.isBlockedMesh(currentMesh.nodeID)){
if(meshMask == null || (meshMask != null && !meshMask.isBlockedMesh(currentMesh.nodeID))){
//set shader
ShaderProgram original = currentMesh.shader;
ShaderProgram shader = getCorrectShader(shaderMask, currentMesh, currentMesh.shader);
@ -221,14 +221,16 @@ public class Model {
currentMesh.shader = original;
}
}
for(Mesh toDraw : meshMask.getToDrawMeshes()){
toDraw.bones = bones;
toDraw.parent = this;
ShaderProgram original = toDraw.shader;
ShaderProgram shader = getCorrectShader(shaderMask, toDraw, toDraw.shader);
toDraw.shader = shader;
toDraw.complexDraw(setShader, bufferStandardUniforms, bufferNonStandardUniforms, useMaterial, useShadowMap, setBones, useLight);
toDraw.shader = original;
if(meshMask != null){
for(Mesh toDraw : meshMask.getToDrawMeshes()){
toDraw.bones = bones;
toDraw.parent = this;
ShaderProgram original = toDraw.shader;
ShaderProgram shader = getCorrectShader(shaderMask, toDraw, toDraw.shader);
toDraw.shader = shader;
toDraw.complexDraw(setShader, bufferStandardUniforms, bufferNonStandardUniforms, useMaterial, useShadowMap, setBones, useLight);
toDraw.shader = original;
}
}
}