diff --git a/Sources/armory/trait/internal/DebugConsole.hx b/Sources/armory/trait/internal/DebugConsole.hx index 797d7466..72f0e447 100755 --- a/Sources/armory/trait/internal/DebugConsole.hx +++ b/Sources/armory/trait/internal/DebugConsole.hx @@ -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 = [""]; 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); } diff --git a/blender/arm/exporter.py b/blender/arm/exporter.py index 1cd614ab..8d68af52 100755 --- a/blender/arm/exporter.py +++ b/blender/arm/exporter.py @@ -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) diff --git a/blender/arm/props.py b/blender/arm/props.py index 58e9d91e..3e98dc33 100755 --- a/blender/arm/props.py +++ b/blender/arm/props.py @@ -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'), diff --git a/blender/arm/props_ui.py b/blender/arm/props_ui.py index a16abc7a..a7d3b7e0 100644 --- a/blender/arm/props_ui.py +++ b/blender/arm/props_ui.py @@ -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"