Browse Source

[added] manual call trace snippet

LinaHirata 6 months ago
parent
commit
82785889e7
1 changed files with 30 additions and 0 deletions
  1. 30 0
      locations/LOCA.qsrc

+ 30 - 0
locations/LOCA.qsrc

@@ -48,8 +48,38 @@ if call_trace_enabled ! 0 and call_trace_manual = 0:
 	killvar 'call_trace_index'
 
 	$call_trace += $call_trace_line + '<br>'
+	killvar '$call_trace_line'
 	if call_trace_shown ! 0: gs 'stat_display'
 end
 
+!!	MANUAL CALL TRACE SNIPPET
+!?	Why use manual call trace:
+!	- auto mode doesnt catch `gs` calls, manual does
+!?	HOWTO use:
+!	- put it at the head of the location you want to debug
+!	  set location name (if you want it to make sense and look nice)
+
+! {
+call_trace_manual = 1
+$call_trace_line = "'PUT LOC NAME HERE'"
+
+call_trace_index = 0
+:call_trace_loop
+if call_trace_index < arrsize("$ARGS"):
+    if $ARGS[call_trace_index] ! '':
+        $call_trace_line += ", '<<$ARGS[call_trace_index]>>'"
+    else
+        $call_trace_line += ", <<ARGS[call_trace_index]>>"
+    end
+    call_trace_index += 1
+    jump 'call_trace_loop'
+end
+killvar 'call_trace_index'
+
+$call_trace += $call_trace_line + '<br>'
+killvar '$call_trace_line'
+if call_trace_shown ! 0: gs 'stat_display'
+}
+
 --- LOCA ---------------------------------