Debug console: optionally omit PosInfos when printing

This commit is contained in:
Moritz Brückner 2021-09-27 15:43:03 +02:00
parent 259c375fda
commit 152959699a
4 changed files with 18 additions and 9 deletions

View file

@ -25,6 +25,8 @@ class DebugConsole extends Trait {
#else
public static var visible = true;
public static var traceWithPosition = true;
static var ui: Zui;
var scaleFactor = 1.0;
@ -75,9 +77,11 @@ class DebugConsole extends Trait {
#end
public function new(scaleFactor = 1.0, scaleDebugConsole = 1.0, positionDebugConsole = 2, visibleDebugConsole = 1,
keyCodeVisible = kha.input.KeyCode.Tilde, keyCodeScaleIn = kha.input.KeyCode.OpenBracket, keyCodeScaleOut = kha.input.KeyCode.CloseBracket) {
traceWithPosition = 1, keyCodeVisible = kha.input.KeyCode.Tilde, keyCodeScaleIn = kha.input.KeyCode.OpenBracket,
keyCodeScaleOut = kha.input.KeyCode.CloseBracket) {
super();
this.scaleFactor = scaleFactor;
DebugConsole.traceWithPosition = traceWithPosition == 1;
iron.data.Data.getFont("font_default.ttf", function(font: kha.Font) {
ui = new Zui({scaleFactor: scaleFactor, font: font});
@ -170,7 +174,7 @@ class DebugConsole extends Trait {
static var haxeTrace: Dynamic->haxe.PosInfos->Void = null;
static var lastTraces: Array<String> = [""];
static function consoleTrace(v: Dynamic, ?inf: haxe.PosInfos) {
lastTraces.unshift(haxe.Log.formatOutput(v,inf));
lastTraces.unshift(haxe.Log.formatOutput(v, traceWithPosition ? inf : null));
if (lastTraces.length > 10) lastTraces.pop();
haxeTrace(v, inf);
}

View file

@ -2679,13 +2679,16 @@ Make sure the mesh only has tris/quads.""")
out_trait = {
'type': 'Script',
'class_name': 'armory.trait.internal.DebugConsole',
'parameters': [str(arm.utils.get_ui_scale()),
str(wrd.arm_debug_console_scale),
str(debug_console_pos_type),
str(int(wrd.arm_debug_console_visible)),
str(int(arm.utils.get_debug_console_visible_sc())),
str(int(arm.utils.get_debug_console_scale_in_sc())),
str(int(arm.utils.get_debug_console_scale_out_sc()))]
'parameters': [
str(arm.utils.get_ui_scale()),
str(wrd.arm_debug_console_scale),
str(debug_console_pos_type),
str(int(wrd.arm_debug_console_visible)),
str(int(wrd.arm_debug_console_trace_pos)),
str(int(arm.utils.get_debug_console_visible_sc())),
str(int(arm.utils.get_debug_console_scale_in_sc())),
str(int(arm.utils.get_debug_console_scale_out_sc()))
]
}
self.output['traits'].append(out_trait)

View file

@ -256,6 +256,7 @@ def init_properties():
name="Position", description="Position Debug Console", default='Right', update=assets.invalidate_shader_cache)
bpy.types.World.arm_debug_console_scale = FloatProperty(name="Scale Console", description="Scale Debug Console", default=1.0, min=0.3, max=10.0, subtype='FACTOR', update=assets.invalidate_shader_cache)
bpy.types.World.arm_debug_console_visible = BoolProperty(name="Visible", description="Setting the console visibility at application start", default=True, update=assets.invalidate_shader_cache)
bpy.types.World.arm_debug_console_trace_pos = BoolProperty(name="Print With Position", description="Whether to prepend the position of print/trace statements to the printed text", default=True)
bpy.types.World.arm_verbose_output = BoolProperty(name="Verbose Output", description="Print additional information to the console during compilation", default=False)
bpy.types.World.arm_runtime = EnumProperty(
items=[('Krom', 'Krom', 'Krom'),

View file

@ -969,6 +969,7 @@ class ARM_PT_ProjectFlagsDebugConsolePanel(bpy.types.Panel):
col.prop(wrd, 'arm_debug_console_position')
col.prop(wrd, 'arm_debug_console_scale')
col.prop(wrd, 'arm_debug_console_visible')
col.prop(wrd, 'arm_debug_console_trace_pos')
class ARM_PT_ProjectWindowPanel(bpy.types.Panel):
bl_label = "Window"