Initial commit of Qt Creator debugger visualizers
This commit is contained in:
parent
ce3dfdc397
commit
635e3b8e58
|
@ -0,0 +1,111 @@
|
||||||
|
# Debug helpers for Prime World Editor classes
|
||||||
|
from dumper import *
|
||||||
|
|
||||||
|
def floatStr(value):
|
||||||
|
s = "%.6f" % value.floatingPoint()
|
||||||
|
s = s.rstrip('0')
|
||||||
|
if s.endswith('.'): s += '0'
|
||||||
|
return s
|
||||||
|
|
||||||
|
# Common
|
||||||
|
def qdump__CAssetID(d, value):
|
||||||
|
length = value["mLength"].integer()
|
||||||
|
id = value["mID"].integer()
|
||||||
|
|
||||||
|
if length is 4:
|
||||||
|
if id == 0xFFFFFFFF:
|
||||||
|
d.putValue("Invalid 32-bit ID")
|
||||||
|
else:
|
||||||
|
d.putValue("[%08X]" % id)
|
||||||
|
elif length is 8:
|
||||||
|
if id == 0xFFFFFFFFFFFFFFFF:
|
||||||
|
d.putValue("Invalid 64-bit ID")
|
||||||
|
else:
|
||||||
|
d.putValue("[%016X]" % id)
|
||||||
|
else:
|
||||||
|
d.putValue("[Invalid]")
|
||||||
|
|
||||||
|
def qdump__CColor(d, value):
|
||||||
|
R = floatStr(value["R"])
|
||||||
|
G = floatStr(value["G"])
|
||||||
|
B = floatStr(value["B"])
|
||||||
|
A = floatStr(value["A"])
|
||||||
|
d.putValue("[%s, %s, %s, %s]" % (R, G, B, A))
|
||||||
|
d.putNumChild(4)
|
||||||
|
|
||||||
|
if d.isExpanded():
|
||||||
|
with Children(d):
|
||||||
|
d.putSubItem("R", value["R"])
|
||||||
|
d.putSubItem("G", value["G"])
|
||||||
|
d.putSubItem("B", value["B"])
|
||||||
|
d.putSubItem("A", value["A"])
|
||||||
|
|
||||||
|
def qdump__CFourCC(d, value):
|
||||||
|
fourCC = value["mFourCC"].integer()
|
||||||
|
charA = chr((fourCC >> 24) & 0xFF)
|
||||||
|
charB = chr((fourCC >> 16) & 0xFF)
|
||||||
|
charC = chr((fourCC >> 8) & 0xFF)
|
||||||
|
charD = chr((fourCC >> 0) & 0xFF)
|
||||||
|
d.putValue("'%c%c%c%c'" % (charA, charB, charC, charD))
|
||||||
|
|
||||||
|
def qdump__TString(d, value):
|
||||||
|
d.putItem( value["mInternalString"] )
|
||||||
|
d.putType("TString")
|
||||||
|
|
||||||
|
def qdump__TWideString(d, value):
|
||||||
|
d.putItem( value["mInternalString"] )
|
||||||
|
d.putType("TWideString")
|
||||||
|
|
||||||
|
# Math
|
||||||
|
def qdump__CQuaternion(d, value):
|
||||||
|
qdump__CVector4f(d, value)
|
||||||
|
|
||||||
|
def qdump__CVector2f(d, value):
|
||||||
|
X = floatStr(value["X"])
|
||||||
|
Y = floatStr(value["Y"])
|
||||||
|
d.putValue("[%s, %s]" % (X, Y))
|
||||||
|
d.putNumChild(2)
|
||||||
|
|
||||||
|
if d.isExpanded():
|
||||||
|
with Children(d):
|
||||||
|
d.putSubItem("X", value["X"])
|
||||||
|
d.putSubItem("Y", value["Y"])
|
||||||
|
|
||||||
|
def qdump__CVector2i(d, value):
|
||||||
|
d.putValue("[%i, %i]" % (value["X"], value["Y"]))
|
||||||
|
d.putNumChild(2)
|
||||||
|
|
||||||
|
if d.isExpanded():
|
||||||
|
with Children(d):
|
||||||
|
d.putSubItem("X", value["X"])
|
||||||
|
d.putSubItem("Y", value["Y"])
|
||||||
|
|
||||||
|
def qdump__CVector3f(d, value):
|
||||||
|
X = floatStr(value["X"])
|
||||||
|
Y = floatStr(value["Y"])
|
||||||
|
Z = floatStr(value["Z"])
|
||||||
|
d.putValue("[%s, %s, %s]" % (X, Y, Z))
|
||||||
|
d.putNumChild(3)
|
||||||
|
|
||||||
|
if d.isExpanded():
|
||||||
|
with Children(d):
|
||||||
|
d.putSubItem("X", value["X"])
|
||||||
|
d.putSubItem("Y", value["Y"])
|
||||||
|
d.putSubItem("Z", value["Z"])
|
||||||
|
|
||||||
|
def qdump__CVector4f(d, value):
|
||||||
|
X = floatStr(value["X"])
|
||||||
|
Y = floatStr(value["Y"])
|
||||||
|
Z = floatStr(value["Z"])
|
||||||
|
W = floatStr(value["W"])
|
||||||
|
d.putValue("[%s, %s, %s, %s]" % (X, Y, Z, W))
|
||||||
|
d.putNumChild(4)
|
||||||
|
|
||||||
|
if d.isExpanded():
|
||||||
|
with Children(d):
|
||||||
|
d.putSubItem("X", value["X"])
|
||||||
|
d.putSubItem("Y", value["Y"])
|
||||||
|
d.putSubItem("Z", value["Z"])
|
||||||
|
d.putSubItem("W", value["W"])
|
||||||
|
|
||||||
|
# Core
|
Loading…
Reference in New Issue