Document more BP and XF registers
@@ -660,6 +660,11 @@ class BPRegister(Enum):
TEV_REGISTERH_3 = 0xE7
FOG_RANGE = 0xE8
+ FOG_RANGE_ADJ_0 = 0xE9
+ FOG_RANGE_ADJ_1 = 0xEA
+ FOG_RANGE_ADJ_2 = 0xEB
+ FOG_RANGE_ADJ_3 = 0xEC
+ FOG_RANGE_ADJ_4 = 0xED
TEV_FOG_PARAM_0 = 0xEE
TEV_FOG_PARAM_1 = 0xEF
@@ -710,13 +715,39 @@ class BPCommand:
return offset
class XFRegister(Enum):
- SETNUMCHAN = 0x1009
- SETCHAN0_AMBCOLOR = 0x100A
- SETCHAN0_MATCOLOR = 0x100C
- SETCHAN0_COLOR = 0x100E
- SETNUMTEXGENS = 0x103F
- SETTEXMTXINFO = 0x1040
- SETPOSMTXINFO = 0x1050
+ TEXMTX0 = 0x0078
+ TEXMTX1 = 0x0084
+ TEXMTX2 = 0x0090
+ TEXMTX3 = 0x009C
+ TEXMTX4 = 0x00A8
+ TEXMTX5 = 0x00B4
+ TEXMTX6 = 0x00C0
+ TEXMTX7 = 0x00CC
+ TEXMTX8 = 0x00D8
+ TEXMTX9 = 0x00E4
+
+ # 0x600-0x67F are 8 lights. Each is 0x10 bytes, the first 3 bytes are unused.
+ LIGHT0_COLOR = 0x0603
+ LIGHT0_A0 = 0x0604 # Cosine attenuation
+ LIGHT0_A1 = 0x0605
+ LIGHT0_A2 = 0x0606
+ LIGHT0_K0 = 0x0607 # Distance attenuation
+ LIGHT0_K1 = 0x0608
+ LIGHT0_K2 = 0x0609
+ LIGHT0_LPX = 0x060A
+ LIGHT0_LPY = 0x060B
+ LIGHT0_LPZ = 0x060C
+ LIGHT0_DHX = 0x060D
+ LIGHT0_DHY = 0x060E
+ LIGHT0_DHZ = 0x060F
+
+ NUMCHAN = 0x1009
+ CHAN0_AMBCOLOR = 0x100A
+ CHAN0_MATCOLOR = 0x100C
+ CHAN0_COLOR = 0x100E
+ NUMTEXGENS = 0x103F
+ TEXMTXINFO = 0x1040
+ POSMTXINFO = 0x1050
class XFCommand:
def __init__(self, data):
