mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
Transfer metadata from the state.cpp table to GECommandTable
This commit is contained in:
parent
e3aaf93e28
commit
8b8489467b
3 changed files with 217 additions and 205 deletions
|
@ -45,45 +45,45 @@ static constexpr GECmdInfo geCmdInfo[] = {
|
|||
{ GE_CMD_FINISH, "finish", GECmdFormat::NONE },
|
||||
{ GE_CMD_BASE, "base", GECmdFormat::HIGH_ADDR_ONLY },
|
||||
{ GE_CMD_UNKNOWN_11, "unknown11", GECmdFormat::NONE },
|
||||
{ GE_CMD_VERTEXTYPE, "vtype", GECmdFormat::VERTEX_TYPE },
|
||||
{ GE_CMD_OFFSETADDR, "setoffset", GECmdFormat::OFFSET_ADDR },
|
||||
{ GE_CMD_VERTEXTYPE, "vtype", GECmdFormat::VERTEX_TYPE, CMD_FMT_VERTEXTYPE },
|
||||
{ GE_CMD_OFFSETADDR, "setoffset", GECmdFormat::OFFSET_ADDR, CMD_FMT_OFFSETADDR },
|
||||
{ GE_CMD_ORIGIN, "origin", GECmdFormat::NONE },
|
||||
{ GE_CMD_REGION1, "regionrate", GECmdFormat::X10_Y10 },
|
||||
{ GE_CMD_REGION2, "regionstop", GECmdFormat::X10_Y10 },
|
||||
{ GE_CMD_LIGHTINGENABLE, "lighting_on", GECmdFormat::FLAG },
|
||||
{ GE_CMD_LIGHTENABLE0, "light0_on", GECmdFormat::FLAG },
|
||||
{ GE_CMD_LIGHTENABLE1, "light1_on", GECmdFormat::FLAG },
|
||||
{ GE_CMD_LIGHTENABLE2, "light2_on", GECmdFormat::FLAG },
|
||||
{ GE_CMD_LIGHTENABLE3, "light3_on", GECmdFormat::FLAG },
|
||||
{ GE_CMD_DEPTHCLAMPENABLE, "zclamp_on", GECmdFormat::FLAG },
|
||||
{ GE_CMD_CULLFACEENABLE, "cull_on", GECmdFormat::FLAG },
|
||||
{ GE_CMD_TEXTUREMAPENABLE, "tex_on", GECmdFormat::FLAG },
|
||||
{ GE_CMD_FOGENABLE, "fog_on", GECmdFormat::FLAG },
|
||||
{ GE_CMD_DITHERENABLE, "dither_on", GECmdFormat::FLAG },
|
||||
{ GE_CMD_ALPHABLENDENABLE, "ablend_on", GECmdFormat::FLAG },
|
||||
{ GE_CMD_ALPHABLENDENABLE, "atest_on", GECmdFormat::FLAG },
|
||||
{ GE_CMD_ZTESTENABLE, "ztest_on", GECmdFormat::FLAG },
|
||||
{ GE_CMD_STENCILTESTENABLE, "stest_on", GECmdFormat::FLAG },
|
||||
{ GE_CMD_ANTIALIASENABLE, "antialias_on", GECmdFormat::FLAG },
|
||||
{ GE_CMD_PATCHCULLENABLE, "patchcull_on", GECmdFormat::FLAG },
|
||||
{ GE_CMD_COLORTESTENABLE, "ctest_on", GECmdFormat::FLAG },
|
||||
{ GE_CMD_LOGICOPENABLE, "logicop_on", GECmdFormat::FLAG },
|
||||
{ GE_CMD_REGION1, "regionrate", GECmdFormat::X10_Y10, CMD_FMT_XYXY, 0, GE_CMD_REGION2 },
|
||||
{ GE_CMD_REGION2, "regionstop", GECmdFormat::X10_Y10, CMD_FMT_XYXY, 0, },
|
||||
{ GE_CMD_LIGHTINGENABLE, "lighting_on", GECmdFormat::FLAG, CMD_FMT_FLAG },
|
||||
{ GE_CMD_LIGHTENABLE0, "light0_on", GECmdFormat::FLAG, CMD_FMT_FLAG, GE_CMD_LIGHTINGENABLE },
|
||||
{ GE_CMD_LIGHTENABLE1, "light1_on", GECmdFormat::FLAG, CMD_FMT_FLAG, GE_CMD_LIGHTINGENABLE },
|
||||
{ GE_CMD_LIGHTENABLE2, "light2_on", GECmdFormat::FLAG, CMD_FMT_FLAG, GE_CMD_LIGHTINGENABLE },
|
||||
{ GE_CMD_LIGHTENABLE3, "light3_on", GECmdFormat::FLAG, CMD_FMT_FLAG, GE_CMD_LIGHTINGENABLE },
|
||||
{ GE_CMD_DEPTHCLAMPENABLE, "zclamp_on", GECmdFormat::FLAG, CMD_FMT_FLAG },
|
||||
{ GE_CMD_CULLFACEENABLE, "cull_on", GECmdFormat::FLAG, CMD_FMT_FLAG },
|
||||
{ GE_CMD_TEXTUREMAPENABLE, "tex_on", GECmdFormat::FLAG, CMD_FMT_FLAG },
|
||||
{ GE_CMD_FOGENABLE, "fog_on", GECmdFormat::FLAG, CMD_FMT_FLAG },
|
||||
{ GE_CMD_DITHERENABLE, "dither_on", GECmdFormat::FLAG, CMD_FMT_FLAG },
|
||||
{ GE_CMD_ALPHABLENDENABLE, "ablend_on", GECmdFormat::FLAG, CMD_FMT_FLAG },
|
||||
{ GE_CMD_ALPHABLENDENABLE, "atest_on", GECmdFormat::FLAG, CMD_FMT_FLAG },
|
||||
{ GE_CMD_ZTESTENABLE, "ztest_on", GECmdFormat::FLAG, CMD_FMT_FLAG },
|
||||
{ GE_CMD_STENCILTESTENABLE, "stest_on", GECmdFormat::FLAG, CMD_FMT_FLAG },
|
||||
{ GE_CMD_ANTIALIASENABLE, "antialias_on", GECmdFormat::FLAG, CMD_FMT_FLAG },
|
||||
{ GE_CMD_PATCHCULLENABLE, "patchcull_on", GECmdFormat::FLAG, CMD_FMT_FLAG },
|
||||
{ GE_CMD_COLORTESTENABLE, "ctest_on", GECmdFormat::FLAG, CMD_FMT_FLAG },
|
||||
{ GE_CMD_LOGICOPENABLE, "logicop_on", GECmdFormat::FLAG, CMD_FMT_FLAG },
|
||||
{ GE_CMD_UNKNOWN_29, "unknown29", GECmdFormat::NONE },
|
||||
{ GE_CMD_BONEMATRIXNUMBER, "bonemtxnum", GECmdFormat::BONE_NUM },
|
||||
{ GE_CMD_BONEMATRIXDATA, "bonemtxdata", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_MORPHWEIGHT0, "morph0", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_MORPHWEIGHT1, "morph1", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_MORPHWEIGHT2, "morph2", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_MORPHWEIGHT3, "morph3", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_MORPHWEIGHT4, "morph4", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_MORPHWEIGHT5, "morph5", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_MORPHWEIGHT6, "morph6", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_MORPHWEIGHT7, "morph7", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_BONEMATRIXNUMBER, "bonemtxnum", GECmdFormat::BONE_NUM, CMD_FMT_INTEGER },
|
||||
{ GE_CMD_BONEMATRIXDATA, "bonemtxdata", GECmdFormat::FLOAT, CMD_FMT_FLOAT24 },
|
||||
{ GE_CMD_MORPHWEIGHT0, "morph0", GECmdFormat::FLOAT, CMD_FMT_FLOAT24 },
|
||||
{ GE_CMD_MORPHWEIGHT1, "morph1", GECmdFormat::FLOAT, CMD_FMT_FLOAT24 },
|
||||
{ GE_CMD_MORPHWEIGHT2, "morph2", GECmdFormat::FLOAT, CMD_FMT_FLOAT24 },
|
||||
{ GE_CMD_MORPHWEIGHT3, "morph3", GECmdFormat::FLOAT, CMD_FMT_FLOAT24 },
|
||||
{ GE_CMD_MORPHWEIGHT4, "morph4", GECmdFormat::FLOAT, CMD_FMT_FLOAT24 },
|
||||
{ GE_CMD_MORPHWEIGHT5, "morph5", GECmdFormat::FLOAT, CMD_FMT_FLOAT24 },
|
||||
{ GE_CMD_MORPHWEIGHT6, "morph6", GECmdFormat::FLOAT, CMD_FMT_FLOAT24 },
|
||||
{ GE_CMD_MORPHWEIGHT7, "morph7", GECmdFormat::FLOAT, CMD_FMT_FLOAT24 },
|
||||
{ GE_CMD_UNKNOWN_34, "unknown34", GECmdFormat::NONE },
|
||||
{ GE_CMD_UNKNOWN_35, "unknown35", GECmdFormat::NONE },
|
||||
{ GE_CMD_PATCHDIVISION, "patchdivision", GECmdFormat::PATCH_DIVISION },
|
||||
{ GE_CMD_PATCHPRIMITIVE, "patchprim", GECmdFormat::PATCH_PRIM },
|
||||
{ GE_CMD_PATCHFACING, "patchreversenormals", GECmdFormat::FLAG },
|
||||
{ GE_CMD_PATCHDIVISION, "patchdivision", GECmdFormat::PATCH_DIVISION, CMD_FMT_HEX },
|
||||
{ GE_CMD_PATCHPRIMITIVE, "patchprim", GECmdFormat::PATCH_PRIM, CMD_FMT_PATCHPRIMITIVE },
|
||||
{ GE_CMD_PATCHFACING, "patchreversenormals", GECmdFormat::FLAG, CMD_FMT_HEX, GE_CMD_PATCHCULLENABLE },
|
||||
{ GE_CMD_UNKNOWN_39, "unknown39", GECmdFormat::NONE },
|
||||
{ GE_CMD_WORLDMATRIXNUMBER, "worldmtxnum", GECmdFormat::MATRIX_NUM },
|
||||
{ GE_CMD_WORLDMATRIXDATA, "worldmtxdata", GECmdFormat::FLOAT },
|
||||
|
@ -93,109 +93,111 @@ static constexpr GECmdInfo geCmdInfo[] = {
|
|||
{ GE_CMD_PROJMATRIXDATA, "projmtxdata", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_TGENMATRIXNUMBER, "texgenmtxnum", GECmdFormat::MATRIX_NUM },
|
||||
{ GE_CMD_TGENMATRIXDATA, "texgenmtxdata", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_VIEWPORTXSCALE, "vpxscale", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_VIEWPORTXSCALE, "vpxscale", GECmdFormat::FLOAT, CMD_FMT_XYZ, 0, GE_CMD_VIEWPORTYSCALE, GE_CMD_VIEWPORTZSCALE },
|
||||
{ GE_CMD_VIEWPORTYSCALE, "vpyscale", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_VIEWPORTZSCALE, "vpzscale", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_VIEWPORTXCENTER, "vpxcenter", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_VIEWPORTYCENTER, "vpycenter", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_VIEWPORTZCENTER, "vpzcenter", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_TEXSCALEU, "texscaleu", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_TEXSCALEV, "texscalev", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_TEXOFFSETU, "texoffsetu", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_TEXOFFSETV, "texoffsetv", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_OFFSETX, "offsetx", GECmdFormat::SUBPIXEL_COORD },
|
||||
{ GE_CMD_VIEWPORTXCENTER, "vpxcenter", GECmdFormat::FLOAT, CMD_FMT_XYZ, 0, GE_CMD_VIEWPORTYCENTER, GE_CMD_VIEWPORTZCENTER },
|
||||
{ GE_CMD_VIEWPORTYCENTER, "vpycenter", GECmdFormat::FLOAT, CMD_FMT_XYZ, 0, GE_CMD_VIEWPORTYCENTER, GE_CMD_VIEWPORTZCENTER },
|
||||
{ GE_CMD_VIEWPORTZCENTER, "vpzcenter", GECmdFormat::FLOAT, CMD_FMT_XYZ, 0, GE_CMD_VIEWPORTYCENTER, GE_CMD_VIEWPORTZCENTER },
|
||||
{ GE_CMD_TEXSCALEU, "texscaleu", GECmdFormat::FLOAT, CMD_FMT_FLOAT24, GE_CMD_TEXTUREMAPENABLE },
|
||||
{ GE_CMD_TEXSCALEV, "texscalev", GECmdFormat::FLOAT, CMD_FMT_FLOAT24, GE_CMD_TEXTUREMAPENABLE },
|
||||
{ GE_CMD_TEXOFFSETU, "texoffsetu", GECmdFormat::FLOAT, CMD_FMT_FLOAT24, GE_CMD_TEXTUREMAPENABLE },
|
||||
{ GE_CMD_TEXOFFSETV, "texoffsetv", GECmdFormat::FLOAT, CMD_FMT_FLOAT24, GE_CMD_TEXTUREMAPENABLE },
|
||||
{ GE_CMD_OFFSETX, "offsetx", GECmdFormat::SUBPIXEL_COORD, CMD_FMT_F16_XY, 0, GE_CMD_OFFSETY },
|
||||
{ GE_CMD_OFFSETY, "offsety", GECmdFormat::SUBPIXEL_COORD },
|
||||
{ GE_CMD_UNKNOWN_4E, "unknown4e", GECmdFormat::NONE },
|
||||
{ GE_CMD_UNKNOWN_4F, "unknown4f", GECmdFormat::NONE },
|
||||
// Really shade mode, but using gouraud as the default so it can be 1/0.
|
||||
{ GE_CMD_SHADEMODE, "gouraud", GECmdFormat::FLAG },
|
||||
{ GE_CMD_REVERSENORMAL, "reversenormals", GECmdFormat::FLAG },
|
||||
{ GE_CMD_SHADEMODE, "gouraud", GECmdFormat::FLAG, CMD_FMT_SHADEMODEL },
|
||||
{ GE_CMD_REVERSENORMAL, "reversenormals", GECmdFormat::FLAG, CMD_FMT_FLAG },
|
||||
{ GE_CMD_UNKNOWN_52, "unknown52", GECmdFormat::NONE },
|
||||
{ GE_CMD_MATERIALUPDATE, "materialupdate", GECmdFormat::MATERIAL_UPDATE },
|
||||
{ GE_CMD_MATERIALEMISSIVE, "materialemissive", GECmdFormat::RGB },
|
||||
{ GE_CMD_MATERIALAMBIENT, "materialambient", GECmdFormat::RGB },
|
||||
{ GE_CMD_MATERIALDIFFUSE, "materialdiffuse", GECmdFormat::RGB },
|
||||
{ GE_CMD_MATERIALSPECULAR, "materialspecular", GECmdFormat::RGB },
|
||||
{ GE_CMD_MATERIALALPHA, "materialambienta", GECmdFormat::DATA8 },
|
||||
{ GE_CMD_MATERIALUPDATE, "materialupdate", GECmdFormat::MATERIAL_UPDATE, CMD_FMT_MATERIALUPDATE },
|
||||
{ GE_CMD_MATERIALEMISSIVE, "materialemissive", GECmdFormat::RGB, CMD_FMT_HEX },
|
||||
{ GE_CMD_MATERIALAMBIENT, "materialambient", GECmdFormat::RGB, CMD_FMT_HEX },
|
||||
{ GE_CMD_MATERIALDIFFUSE, "materialdiffuse", GECmdFormat::RGB, CMD_FMT_HEX },
|
||||
{ GE_CMD_MATERIALSPECULAR, "materialspecular", GECmdFormat::RGB, CMD_FMT_HEX },
|
||||
{ GE_CMD_MATERIALALPHA, "materialambienta", GECmdFormat::DATA8, CMD_FMT_HEX8 },
|
||||
{ GE_CMD_UNKNOWN_59, "unknown59", GECmdFormat::NONE },
|
||||
{ GE_CMD_UNKNOWN_5A, "unknown5a", GECmdFormat::NONE },
|
||||
{ GE_CMD_MATERIALSPECULARCOEF, "specularcoef", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_AMBIENTCOLOR, "ambient", GECmdFormat::RGB },
|
||||
{ GE_CMD_AMBIENTALPHA, "ambienta", GECmdFormat::DATA8 },
|
||||
{ GE_CMD_LIGHTMODE, "lightseparate", GECmdFormat::FLAG },
|
||||
{ GE_CMD_LIGHTTYPE0, "ltype0", GECmdFormat::LIGHT_TYPE },
|
||||
{ GE_CMD_LIGHTTYPE1, "ltype1", GECmdFormat::LIGHT_TYPE },
|
||||
{ GE_CMD_LIGHTTYPE2, "ltype2", GECmdFormat::LIGHT_TYPE },
|
||||
{ GE_CMD_LIGHTTYPE3, "ltype3", GECmdFormat::LIGHT_TYPE },
|
||||
{ GE_CMD_LX0, "light0posx", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_MATERIALSPECULARCOEF, "specularcoef", GECmdFormat::FLOAT, CMD_FMT_FLOAT24 },
|
||||
{ GE_CMD_AMBIENTCOLOR, "ambient", GECmdFormat::RGB, CMD_FMT_HEX },
|
||||
{ GE_CMD_AMBIENTALPHA, "ambienta", GECmdFormat::DATA8, CMD_FMT_HEX },
|
||||
{ GE_CMD_LIGHTMODE, "lightseparate", GECmdFormat::FLAG, CMD_FMT_LIGHTMODE, GE_CMD_LIGHTINGENABLE },
|
||||
{ GE_CMD_LIGHTTYPE0, "ltype0", GECmdFormat::LIGHT_TYPE, CMD_FMT_LIGHTTYPE, GE_CMD_LIGHTENABLE0 },
|
||||
{ GE_CMD_LIGHTTYPE1, "ltype1", GECmdFormat::LIGHT_TYPE, CMD_FMT_LIGHTTYPE, GE_CMD_LIGHTENABLE1 },
|
||||
{ GE_CMD_LIGHTTYPE2, "ltype2", GECmdFormat::LIGHT_TYPE, CMD_FMT_LIGHTTYPE, GE_CMD_LIGHTENABLE2 },
|
||||
{ GE_CMD_LIGHTTYPE3, "ltype3", GECmdFormat::LIGHT_TYPE, CMD_FMT_LIGHTTYPE, GE_CMD_LIGHTENABLE3 },
|
||||
{ GE_CMD_LX0, "light0posx", GECmdFormat::FLOAT, CMD_FMT_XYZ, GE_CMD_LIGHTENABLE0, GE_CMD_LY0, GE_CMD_LZ0 },
|
||||
{ GE_CMD_LY0, "light0posy", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LZ0, "light0posz", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LX1, "light1posx", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LX1, "light1posx", GECmdFormat::FLOAT, CMD_FMT_XYZ, GE_CMD_LIGHTENABLE1, GE_CMD_LY1, GE_CMD_LZ1 },
|
||||
{ GE_CMD_LY1, "light1posy", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LZ1, "light1posz", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LX2, "light2posx", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LX2, "light2posx", GECmdFormat::FLOAT, CMD_FMT_XYZ, GE_CMD_LIGHTENABLE2, GE_CMD_LY2, GE_CMD_LZ2 },
|
||||
{ GE_CMD_LY2, "light2posy", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LZ2, "light2posz", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LX3, "light3posx", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LX3, "light3posx", GECmdFormat::FLOAT, CMD_FMT_XYZ, GE_CMD_LIGHTENABLE3, GE_CMD_LY3, GE_CMD_LZ3 },
|
||||
{ GE_CMD_LY3, "light3posy", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LZ3, "light3posz", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LDX0, "light0dirx", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LDX0, "light0dirx", GECmdFormat::FLOAT, CMD_FMT_XYZ, GE_CMD_LIGHTENABLE0, GE_CMD_LDY0, GE_CMD_LDZ0 },
|
||||
{ GE_CMD_LDY0, "light0diry", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LDZ0, "light0dirz", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LDX1, "light1dirx", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LDX1, "light1dirx", GECmdFormat::FLOAT, CMD_FMT_XYZ, GE_CMD_LIGHTENABLE1, GE_CMD_LDY1, GE_CMD_LDZ1 },
|
||||
{ GE_CMD_LDY1, "light1diry", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LDZ1, "light1dirz", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LDX2, "light2dirx", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LDX2, "light2dirx", GECmdFormat::FLOAT, CMD_FMT_XYZ, GE_CMD_LIGHTENABLE2, GE_CMD_LDY2, GE_CMD_LDZ2 },
|
||||
{ GE_CMD_LDY2, "light2diry", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LDZ2, "light2dirz", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LDX3, "light3dirx", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LDX3, "light3dirx", GECmdFormat::FLOAT, CMD_FMT_XYZ, GE_CMD_LIGHTENABLE3, GE_CMD_LDY3, GE_CMD_LDZ3 },
|
||||
{ GE_CMD_LDY3, "light3diry", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LDZ3, "light3dirz", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LKA0, "light0attpow0", GECmdFormat::FLOAT },
|
||||
|
||||
{ GE_CMD_LKA0, "light0attpow0", GECmdFormat::FLOAT, CMD_FMT_XYZ, GE_CMD_LIGHTENABLE0, GE_CMD_LKB0, GE_CMD_LKC0 },
|
||||
{ GE_CMD_LKB0, "light0attpow1", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LKC0, "light0attpow2", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LKA1, "light1attpow0", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LKA1, "light1attpow0", GECmdFormat::FLOAT, CMD_FMT_XYZ, GE_CMD_LIGHTENABLE1, GE_CMD_LKB1, GE_CMD_LKC1 },
|
||||
{ GE_CMD_LKB1, "light1attpow1", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LKC1, "light1attpow2", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LKA2, "light2attpow0", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LKA2, "light2attpow0", GECmdFormat::FLOAT, CMD_FMT_XYZ, GE_CMD_LIGHTENABLE2, GE_CMD_LKB2, GE_CMD_LKC2 },
|
||||
{ GE_CMD_LKB2, "light2attpow1", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LKC2, "light2attpow2", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LKA3, "light3attpow0", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LKA3, "light3attpow0", GECmdFormat::FLOAT, CMD_FMT_XYZ, GE_CMD_LIGHTENABLE3, GE_CMD_LKB3, GE_CMD_LKC3 },
|
||||
{ GE_CMD_LKB3, "light3attpow1", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LKC3, "light3attpow2", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LKS0, "light0spotexp", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LKS1, "light1spotexp", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LKS2, "light2spotexp", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LKS3, "light3spotexp", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LKO0, "light0spotcutoff", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LKO1, "light1spotcutoff", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LKO2, "light2spotcutoff", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LKO3, "light3spotcutoff", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_LAC0, "light0ambient", GECmdFormat::RGB },
|
||||
{ GE_CMD_LDC0, "light0diffuse", GECmdFormat::RGB },
|
||||
{ GE_CMD_LSC0, "light0specular", GECmdFormat::RGB },
|
||||
{ GE_CMD_LAC1, "light1ambient", GECmdFormat::RGB },
|
||||
{ GE_CMD_LDC1, "light1diffuse", GECmdFormat::RGB },
|
||||
{ GE_CMD_LSC1, "light1specular", GECmdFormat::RGB },
|
||||
{ GE_CMD_LAC2, "light2ambient", GECmdFormat::RGB },
|
||||
{ GE_CMD_LDC2, "light2diffuse", GECmdFormat::RGB },
|
||||
{ GE_CMD_LSC2, "light2specular", GECmdFormat::RGB },
|
||||
{ GE_CMD_LAC3, "light3ambient", GECmdFormat::RGB },
|
||||
{ GE_CMD_LDC3, "light3diffuse", GECmdFormat::RGB },
|
||||
{ GE_CMD_LSC3, "light3specular", GECmdFormat::RGB },
|
||||
{ GE_CMD_CULL, "cullccw", GECmdFormat::FLAG },
|
||||
{ GE_CMD_FRAMEBUFPTR, "fbptr", GECmdFormat::LOW_ADDR_ONLY },
|
||||
|
||||
{ GE_CMD_LKS0, "light0spotexp", GECmdFormat::FLOAT, CMD_FMT_FLOAT24, GE_CMD_LIGHTENABLE0 },
|
||||
{ GE_CMD_LKS1, "light1spotexp", GECmdFormat::FLOAT, CMD_FMT_FLOAT24, GE_CMD_LIGHTENABLE1 },
|
||||
{ GE_CMD_LKS2, "light2spotexp", GECmdFormat::FLOAT, CMD_FMT_FLOAT24, GE_CMD_LIGHTENABLE2 },
|
||||
{ GE_CMD_LKS3, "light3spotexp", GECmdFormat::FLOAT, CMD_FMT_FLOAT24, GE_CMD_LIGHTENABLE3 },
|
||||
{ GE_CMD_LKO0, "light0spotcutoff", GECmdFormat::FLOAT, CMD_FMT_FLOAT24, GE_CMD_LIGHTENABLE0 },
|
||||
{ GE_CMD_LKO1, "light1spotcutoff", GECmdFormat::FLOAT, CMD_FMT_FLOAT24, GE_CMD_LIGHTENABLE1 },
|
||||
{ GE_CMD_LKO2, "light2spotcutoff", GECmdFormat::FLOAT, CMD_FMT_FLOAT24, GE_CMD_LIGHTENABLE2 },
|
||||
{ GE_CMD_LKO3, "light3spotcutoff", GECmdFormat::FLOAT, CMD_FMT_FLOAT24, GE_CMD_LIGHTENABLE3 },
|
||||
{ GE_CMD_LAC0, "light0ambient", GECmdFormat::RGB, CMD_FMT_HEX, GE_CMD_LIGHTENABLE0 },
|
||||
{ GE_CMD_LDC0, "light0diffuse", GECmdFormat::RGB, CMD_FMT_HEX, GE_CMD_LIGHTENABLE0 },
|
||||
{ GE_CMD_LSC0, "light0specular", GECmdFormat::RGB, CMD_FMT_HEX, GE_CMD_LIGHTENABLE0 },
|
||||
{ GE_CMD_LAC1, "light1ambient", GECmdFormat::RGB, CMD_FMT_HEX, GE_CMD_LIGHTENABLE1 },
|
||||
{ GE_CMD_LDC1, "light1diffuse", GECmdFormat::RGB, CMD_FMT_HEX, GE_CMD_LIGHTENABLE1 },
|
||||
{ GE_CMD_LSC1, "light1specular", GECmdFormat::RGB, CMD_FMT_HEX, GE_CMD_LIGHTENABLE1 },
|
||||
{ GE_CMD_LAC2, "light2ambient", GECmdFormat::RGB, CMD_FMT_HEX, GE_CMD_LIGHTENABLE2 },
|
||||
{ GE_CMD_LDC2, "light2diffuse", GECmdFormat::RGB, CMD_FMT_HEX, GE_CMD_LIGHTENABLE2 },
|
||||
{ GE_CMD_LSC2, "light2specular", GECmdFormat::RGB, CMD_FMT_HEX, GE_CMD_LIGHTENABLE2 },
|
||||
{ GE_CMD_LAC3, "light3ambient", GECmdFormat::RGB, CMD_FMT_HEX, GE_CMD_LIGHTENABLE3 },
|
||||
{ GE_CMD_LDC3, "light3diffuse", GECmdFormat::RGB, CMD_FMT_HEX, GE_CMD_LIGHTENABLE3 },
|
||||
{ GE_CMD_LSC3, "light3specular", GECmdFormat::RGB, CMD_FMT_HEX, GE_CMD_LIGHTENABLE3 },
|
||||
{ GE_CMD_CULL, "cullccw", GECmdFormat::FLAG, CMD_FMT_FLAG, CMD_FMT_CULL, GE_CMD_CULLFACEENABLE },
|
||||
{ GE_CMD_FRAMEBUFPTR, "fbptr", GECmdFormat::LOW_ADDR_ONLY, CMD_FMT_PTRWIDTH, 0, GE_CMD_FRAMEBUFWIDTH },
|
||||
{ GE_CMD_FRAMEBUFWIDTH, "fbstride", GECmdFormat::STRIDE },
|
||||
{ GE_CMD_ZBUFPTR, "zbptr", GECmdFormat::LOW_ADDR_ONLY },
|
||||
{ GE_CMD_ZBUFPTR, "zbptr", GECmdFormat::LOW_ADDR_ONLY, CMD_FMT_PTRWIDTH, 0, GE_CMD_ZBUFWIDTH },
|
||||
{ GE_CMD_ZBUFWIDTH, "zbstride", GECmdFormat::STRIDE },
|
||||
{ GE_CMD_TEXADDR0, "texaddr0low", GECmdFormat::LOW_ADDR },
|
||||
{ GE_CMD_TEXADDR1, "texaddr1low", GECmdFormat::LOW_ADDR },
|
||||
{ GE_CMD_TEXADDR2, "texaddr2low", GECmdFormat::LOW_ADDR },
|
||||
{ GE_CMD_TEXADDR3, "texaddr3low", GECmdFormat::LOW_ADDR },
|
||||
{ GE_CMD_TEXADDR4, "texaddr4low", GECmdFormat::LOW_ADDR },
|
||||
{ GE_CMD_TEXADDR5, "texaddr5low", GECmdFormat::LOW_ADDR },
|
||||
{ GE_CMD_TEXADDR6, "texaddr6low", GECmdFormat::LOW_ADDR },
|
||||
{ GE_CMD_TEXADDR7, "texaddr7low", GECmdFormat::LOW_ADDR },
|
||||
{ GE_CMD_TEXADDR0, "texaddr0low", GECmdFormat::LOW_ADDR, CMD_FMT_PTRWIDTH, GE_CMD_TEXTUREMAPENABLE, GE_CMD_TEXBUFWIDTH0 },
|
||||
{ GE_CMD_TEXADDR1, "texaddr1low", GECmdFormat::LOW_ADDR, CMD_FMT_PTRWIDTH, GE_CMD_TEXTUREMAPENABLE, GE_CMD_TEXBUFWIDTH1 },
|
||||
{ GE_CMD_TEXADDR2, "texaddr2low", GECmdFormat::LOW_ADDR, CMD_FMT_PTRWIDTH, GE_CMD_TEXTUREMAPENABLE, GE_CMD_TEXBUFWIDTH2 },
|
||||
{ GE_CMD_TEXADDR3, "texaddr3low", GECmdFormat::LOW_ADDR, CMD_FMT_PTRWIDTH, GE_CMD_TEXTUREMAPENABLE, GE_CMD_TEXBUFWIDTH3 },
|
||||
{ GE_CMD_TEXADDR4, "texaddr4low", GECmdFormat::LOW_ADDR, CMD_FMT_PTRWIDTH, GE_CMD_TEXTUREMAPENABLE, GE_CMD_TEXBUFWIDTH4 },
|
||||
{ GE_CMD_TEXADDR5, "texaddr5low", GECmdFormat::LOW_ADDR, CMD_FMT_PTRWIDTH, GE_CMD_TEXTUREMAPENABLE, GE_CMD_TEXBUFWIDTH5 },
|
||||
{ GE_CMD_TEXADDR6, "texaddr6low", GECmdFormat::LOW_ADDR, CMD_FMT_PTRWIDTH, GE_CMD_TEXTUREMAPENABLE, GE_CMD_TEXBUFWIDTH6 },
|
||||
{ GE_CMD_TEXADDR7, "texaddr7low", GECmdFormat::LOW_ADDR, CMD_FMT_PTRWIDTH, GE_CMD_TEXTUREMAPENABLE, GE_CMD_TEXBUFWIDTH7 },
|
||||
{ GE_CMD_TEXBUFWIDTH0, "texbufw0", GECmdFormat::STRIDE_HIGH_ADDR },
|
||||
{ GE_CMD_TEXBUFWIDTH1, "texbufw1", GECmdFormat::STRIDE_HIGH_ADDR },
|
||||
{ GE_CMD_TEXBUFWIDTH2, "texbufw2", GECmdFormat::STRIDE_HIGH_ADDR },
|
||||
|
@ -204,80 +206,80 @@ static constexpr GECmdInfo geCmdInfo[] = {
|
|||
{ GE_CMD_TEXBUFWIDTH5, "texbufw5", GECmdFormat::STRIDE_HIGH_ADDR },
|
||||
{ GE_CMD_TEXBUFWIDTH6, "texbufw6", GECmdFormat::STRIDE_HIGH_ADDR },
|
||||
{ GE_CMD_TEXBUFWIDTH7, "texbufw7", GECmdFormat::STRIDE_HIGH_ADDR },
|
||||
{ GE_CMD_CLUTADDR, "clutaddrlow", GECmdFormat::LOW_ADDR },
|
||||
{ GE_CMD_CLUTADDR, "clutaddrlow", GECmdFormat::LOW_ADDR, CMD_FMT_PTRWIDTH, GE_CMD_TEXTUREMAPENABLE, GE_CMD_CLUTADDRUPPER },
|
||||
{ GE_CMD_CLUTADDRUPPER, "clutaddrhigh", GECmdFormat::HIGH_ADDR },
|
||||
{ GE_CMD_TRANSFERSRC, "transfersrclow", GECmdFormat::LOW_ADDR },
|
||||
{ GE_CMD_TRANSFERSRC, "transfersrclow", GECmdFormat::LOW_ADDR, CMD_FMT_PTRWIDTH, 0, GE_CMD_TRANSFERSRCW },
|
||||
{ GE_CMD_TRANSFERSRCW, "transfersrcstride", GECmdFormat::STRIDE_HIGH_ADDR },
|
||||
{ GE_CMD_TRANSFERDST, "transferdstlow", GECmdFormat::LOW_ADDR },
|
||||
{ GE_CMD_TRANSFERDST, "transferdstlow", GECmdFormat::LOW_ADDR, CMD_FMT_PTRWIDTH, 0, GE_CMD_TRANSFERDSTW },
|
||||
{ GE_CMD_TRANSFERDSTW, "transferdststride", GECmdFormat::STRIDE_HIGH_ADDR },
|
||||
{ GE_CMD_UNKNOWN_B6, "unknownb6", GECmdFormat::NONE },
|
||||
{ GE_CMD_UNKNOWN_B7, "unknownb7", GECmdFormat::NONE },
|
||||
{ GE_CMD_TEXSIZE0, "texsize0", GECmdFormat::TEX_SIZE },
|
||||
{ GE_CMD_TEXSIZE1, "texsize1", GECmdFormat::TEX_SIZE },
|
||||
{ GE_CMD_TEXSIZE2, "texsize2", GECmdFormat::TEX_SIZE },
|
||||
{ GE_CMD_TEXSIZE3, "texsize3", GECmdFormat::TEX_SIZE },
|
||||
{ GE_CMD_TEXSIZE4, "texsize4", GECmdFormat::TEX_SIZE },
|
||||
{ GE_CMD_TEXSIZE5, "texsize5", GECmdFormat::TEX_SIZE },
|
||||
{ GE_CMD_TEXSIZE6, "texsize6", GECmdFormat::TEX_SIZE },
|
||||
{ GE_CMD_TEXSIZE7, "texsize7", GECmdFormat::TEX_SIZE },
|
||||
{ GE_CMD_TEXMAPMODE, "texmapmode", GECmdFormat::TEX_MAP_MODE },
|
||||
{ GE_CMD_TEXSHADELS, "texlightsrc", GECmdFormat::TEX_LIGHT_SRC },
|
||||
{ GE_CMD_TEXMODE, "texmode", GECmdFormat::TEX_MODE },
|
||||
{ GE_CMD_TEXFORMAT, "texformat", GECmdFormat::TEX_FORMAT },
|
||||
{ GE_CMD_TEXSIZE0, "texsize0", GECmdFormat::TEX_SIZE, CMD_FMT_TEXSIZE, GE_CMD_TEXTUREMAPENABLE },
|
||||
{ GE_CMD_TEXSIZE1, "texsize1", GECmdFormat::TEX_SIZE, CMD_FMT_TEXSIZE, GE_CMD_TEXTUREMAPENABLE },
|
||||
{ GE_CMD_TEXSIZE2, "texsize2", GECmdFormat::TEX_SIZE, CMD_FMT_TEXSIZE, GE_CMD_TEXTUREMAPENABLE },
|
||||
{ GE_CMD_TEXSIZE3, "texsize3", GECmdFormat::TEX_SIZE, CMD_FMT_TEXSIZE, GE_CMD_TEXTUREMAPENABLE },
|
||||
{ GE_CMD_TEXSIZE4, "texsize4", GECmdFormat::TEX_SIZE, CMD_FMT_TEXSIZE, GE_CMD_TEXTUREMAPENABLE },
|
||||
{ GE_CMD_TEXSIZE5, "texsize5", GECmdFormat::TEX_SIZE, CMD_FMT_TEXSIZE, GE_CMD_TEXTUREMAPENABLE },
|
||||
{ GE_CMD_TEXSIZE6, "texsize6", GECmdFormat::TEX_SIZE, CMD_FMT_TEXSIZE, GE_CMD_TEXTUREMAPENABLE },
|
||||
{ GE_CMD_TEXSIZE7, "texsize7", GECmdFormat::TEX_SIZE, CMD_FMT_TEXSIZE, GE_CMD_TEXTUREMAPENABLE },
|
||||
{ GE_CMD_TEXMAPMODE, "texmapmode", GECmdFormat::TEX_MAP_MODE, CMD_FMT_TEXMAPMODE, GE_CMD_TEXTUREMAPENABLE },
|
||||
{ GE_CMD_TEXSHADELS, "texlightsrc", GECmdFormat::TEX_LIGHT_SRC, CMD_FMT_TEXSHADELS, GE_CMD_TEXTUREMAPENABLE },
|
||||
{ GE_CMD_TEXMODE, "texmode", GECmdFormat::TEX_MODE, CMD_FMT_TEXMAPMODE, GE_CMD_TEXTUREMAPENABLE },
|
||||
{ GE_CMD_TEXFORMAT, "texformat", GECmdFormat::TEX_FORMAT, CMD_FMT_TEXFMT, GE_CMD_TEXTUREMAPENABLE },
|
||||
{ GE_CMD_LOADCLUT, "loadclut", GECmdFormat::CLUT_BLOCKS },
|
||||
{ GE_CMD_CLUTFORMAT, "clutformat", GECmdFormat::CLUT_FORMAT },
|
||||
{ GE_CMD_TEXFILTER, "texfilter", GECmdFormat::TEX_FILTER },
|
||||
{ GE_CMD_TEXWRAP, "texclamp", GECmdFormat::TEX_CLAMP },
|
||||
{ GE_CMD_TEXLEVEL, "texlevelmode", GECmdFormat::TEX_LEVEL_MODE },
|
||||
{ GE_CMD_TEXFUNC, "texfunc", GECmdFormat::TEX_FUNC },
|
||||
{ GE_CMD_TEXENVCOLOR, "texenv", GECmdFormat::RGB },
|
||||
{ GE_CMD_CLUTFORMAT, "clutformat", GECmdFormat::CLUT_FORMAT, CMD_FMT_CLUTFMT, GE_CMD_TEXTUREMAPENABLE },
|
||||
{ GE_CMD_TEXFILTER, "texfilter", GECmdFormat::TEX_FILTER, CMD_FMT_TEXFILTER, GE_CMD_TEXTUREMAPENABLE },
|
||||
{ GE_CMD_TEXWRAP, "texclamp", GECmdFormat::TEX_CLAMP, CMD_FMT_TEXWRAP, GE_CMD_TEXTUREMAPENABLE },
|
||||
{ GE_CMD_TEXLEVEL, "texlevelmode", GECmdFormat::TEX_LEVEL_MODE, CMD_FMT_TEXLEVEL, GE_CMD_TEXTUREMAPENABLE },
|
||||
{ GE_CMD_TEXFUNC, "texfunc", GECmdFormat::TEX_FUNC, CMD_FMT_TEXFUNC, GE_CMD_TEXTUREMAPENABLE },
|
||||
{ GE_CMD_TEXENVCOLOR, "texenv", GECmdFormat::RGB, CMD_FMT_HEX, GE_CMD_TEXTUREMAPENABLE },
|
||||
{ GE_CMD_TEXFLUSH, "texflush", GECmdFormat::NONE },
|
||||
{ GE_CMD_TEXSYNC, "texsync", GECmdFormat::NONE },
|
||||
{ GE_CMD_FOG1, "fogend", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_FOG2, "fogslope", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_FOGCOLOR, "fogcolor", GECmdFormat::RGB },
|
||||
{ GE_CMD_TEXLODSLOPE, "texlodslope", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_FOG1, "fogend", GECmdFormat::FLOAT, CMD_FMT_FLOAT24, GE_CMD_FOGENABLE },
|
||||
{ GE_CMD_FOG2, "fogslope", GECmdFormat::FLOAT, CMD_FMT_FLOAT24, GE_CMD_FOGENABLE },
|
||||
{ GE_CMD_FOGCOLOR, "fogcolor", GECmdFormat::RGB, CMD_FMT_HEX, GE_CMD_FOGENABLE, },
|
||||
{ GE_CMD_TEXLODSLOPE, "texlodslope", GECmdFormat::FLOAT, CMD_FMT_FLOAT24, GE_CMD_TEXTUREMAPENABLE },
|
||||
{ GE_CMD_UNKNOWN_D1, "unknownd1", GECmdFormat::NONE },
|
||||
{ GE_CMD_FRAMEBUFPIXFORMAT, "fbformat", GECmdFormat::TEX_FORMAT },
|
||||
{ GE_CMD_CLEARMODE, "clearmode", GECmdFormat::CLEAR_MODE },
|
||||
{ GE_CMD_SCISSOR1, "scissor1", GECmdFormat::X10_Y10 },
|
||||
{ GE_CMD_FRAMEBUFPIXFORMAT, "fbformat", GECmdFormat::TEX_FORMAT, CMD_FMT_TEXFMT },
|
||||
{ GE_CMD_CLEARMODE, "clearmode", GECmdFormat::CLEAR_MODE, CMD_FMT_CLEARMODE },
|
||||
{ GE_CMD_SCISSOR1, "scissor1", GECmdFormat::X10_Y10, CMD_FMT_XYXY, 0, GE_CMD_SCISSOR2 },
|
||||
{ GE_CMD_SCISSOR2, "scissor2", GECmdFormat::X10_Y10 },
|
||||
{ GE_CMD_MINZ, "minz", GECmdFormat::DATA16 },
|
||||
{ GE_CMD_MAXZ, "maxz", GECmdFormat::DATA16 },
|
||||
{ GE_CMD_COLORTEST, "ctestfunc", GECmdFormat::COLOR_TEST_FUNC },
|
||||
{ GE_CMD_COLORREF, "ctestref", GECmdFormat::RGB },
|
||||
{ GE_CMD_COLORTESTMASK, "ctestmask", GECmdFormat::RGB },
|
||||
{ GE_CMD_ALPHATEST, "atest", GECmdFormat::ALPHA_TEST },
|
||||
{ GE_CMD_STENCILTEST, "stest", GECmdFormat::ALPHA_TEST },
|
||||
{ GE_CMD_STENCILOP, "stencilop", GECmdFormat::STENCIL_OP },
|
||||
{ GE_CMD_ZTEST, "ztest", GECmdFormat::DEPTH_TEST_FUNC },
|
||||
{ GE_CMD_BLENDMODE, "blendmode", GECmdFormat::BLEND_MODE },
|
||||
{ GE_CMD_BLENDFIXEDA, "blendfixa", GECmdFormat::RGB },
|
||||
{ GE_CMD_BLENDFIXEDB, "blendfixb", GECmdFormat::RGB },
|
||||
{ GE_CMD_DITH0, "dither0", GECmdFormat::DITHER_ROW },
|
||||
{ GE_CMD_DITH1, "dither1", GECmdFormat::DITHER_ROW },
|
||||
{ GE_CMD_DITH2, "dither2", GECmdFormat::DITHER_ROW },
|
||||
{ GE_CMD_DITH3, "dither3", GECmdFormat::DITHER_ROW },
|
||||
{ GE_CMD_LOGICOP, "logicop", GECmdFormat::LOGIC_OP },
|
||||
{ GE_CMD_ZWRITEDISABLE, "zwrite_off", GECmdFormat::FLAG },
|
||||
{ GE_CMD_MASKRGB, "rgbmask_block", GECmdFormat::RGB },
|
||||
{ GE_CMD_MASKALPHA, "swritemask_block", GECmdFormat::DATA8 },
|
||||
{ GE_CMD_TRANSFERSTART, "transferstart_bpp", GECmdFormat::FLAG },
|
||||
{ GE_CMD_TRANSFERSRCPOS, "transfersrcpos", GECmdFormat::X10_Y10 },
|
||||
{ GE_CMD_TRANSFERDSTPOS, "transferdstpos", GECmdFormat::X10_Y10 },
|
||||
{ GE_CMD_MINZ, "minz", GECmdFormat::DATA16, CMD_FMT_HEX },
|
||||
{ GE_CMD_MAXZ, "maxz", GECmdFormat::DATA16, CMD_FMT_HEX },
|
||||
{ GE_CMD_COLORTEST, "ctestfunc", GECmdFormat::COLOR_TEST_FUNC, CMD_FMT_COLORTEST, GE_CMD_COLORTESTENABLE, GE_CMD_COLORREF, GE_CMD_COLORTESTMASK },
|
||||
{ GE_CMD_COLORREF, "ctestref", GECmdFormat::RGB, CMD_FMT_HEX },
|
||||
{ GE_CMD_COLORTESTMASK, "ctestmask", GECmdFormat::RGB, CMD_FMT_HEX },
|
||||
{ GE_CMD_ALPHATEST, "atest", GECmdFormat::ALPHA_TEST, CMD_FMT_ALPHATEST, GE_CMD_ALPHATESTENABLE },
|
||||
{ GE_CMD_STENCILTEST, "stest", GECmdFormat::ALPHA_TEST, CMD_FMT_STENCILTEST, GE_CMD_STENCILTESTENABLE },
|
||||
{ GE_CMD_STENCILOP, "stencilop", GECmdFormat::STENCIL_OP, CMD_FMT_STENCILOP, GE_CMD_STENCILTESTENABLE },
|
||||
{ GE_CMD_ZTEST, "ztest", GECmdFormat::DEPTH_TEST_FUNC, CMD_FMT_ZTEST, GE_CMD_ZTESTENABLE },
|
||||
{ GE_CMD_BLENDMODE, "blendmode", GECmdFormat::BLEND_MODE, CMD_FMT_BLENDMODE, GE_CMD_ALPHABLENDENABLE },
|
||||
{ GE_CMD_BLENDFIXEDA, "blendfixa", GECmdFormat::RGB, CMD_FMT_HEX, GE_CMD_ALPHABLENDENABLE },
|
||||
{ GE_CMD_BLENDFIXEDB, "blendfixb", GECmdFormat::RGB, CMD_FMT_HEX, GE_CMD_ALPHABLENDENABLE },
|
||||
{ GE_CMD_DITH0, "dither0", GECmdFormat::DITHER_ROW, CMD_FMT_HEX, GE_CMD_DITHERENABLE },
|
||||
{ GE_CMD_DITH1, "dither1", GECmdFormat::DITHER_ROW, CMD_FMT_HEX, GE_CMD_DITHERENABLE },
|
||||
{ GE_CMD_DITH2, "dither2", GECmdFormat::DITHER_ROW, CMD_FMT_HEX, GE_CMD_DITHERENABLE },
|
||||
{ GE_CMD_DITH3, "dither3", GECmdFormat::DITHER_ROW, CMD_FMT_HEX, GE_CMD_DITHERENABLE },
|
||||
{ GE_CMD_LOGICOP, "logicop", GECmdFormat::LOGIC_OP, CMD_FMT_LOGICOP, GE_CMD_LOGICOPENABLE },
|
||||
{ GE_CMD_ZWRITEDISABLE, "zwrite_off", GECmdFormat::FLAG, CMD_FMT_FLAG },
|
||||
{ GE_CMD_MASKRGB, "rgbmask_block", GECmdFormat::RGB, CMD_FMT_HEX },
|
||||
{ GE_CMD_MASKALPHA, "swritemask_block", GECmdFormat::DATA8, CMD_FMT_HEX8 },
|
||||
{ GE_CMD_TRANSFERSTART, "transferstart_bpp", GECmdFormat::FLAG, CMD_FMT_FLAG },
|
||||
{ GE_CMD_TRANSFERSRCPOS, "transfersrcpos", GECmdFormat::X10_Y10, CMD_FMT_XY },
|
||||
{ GE_CMD_TRANSFERDSTPOS, "transferdstpos", GECmdFormat::X10_Y10, CMD_FMT_XY },
|
||||
{ GE_CMD_UNKNOWN_ED, "unknowned", GECmdFormat::NONE },
|
||||
{ GE_CMD_TRANSFERSIZE, "transfersize", GECmdFormat::X10_Y10 },
|
||||
{ GE_CMD_TRANSFERSIZE, "transfersize", GECmdFormat::X10_Y10, CMD_FMT_XY },
|
||||
{ GE_CMD_UNKNOWN_EF, "unknownef", GECmdFormat::NONE },
|
||||
{ GE_CMD_VSCX, "immx", GECmdFormat::SUBPIXEL_COORD },
|
||||
{ GE_CMD_VSCX, "immx", GECmdFormat::SUBPIXEL_COORD, CMD_FMT_F16_XY, 0, GE_CMD_VSCY },
|
||||
{ GE_CMD_VSCY, "immy", GECmdFormat::SUBPIXEL_COORD },
|
||||
{ GE_CMD_VSCZ, "immz", GECmdFormat::DATA16 },
|
||||
{ GE_CMD_VTCS, "imms", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_VTCT, "immt", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_VTCQ, "immq", GECmdFormat::FLOAT },
|
||||
{ GE_CMD_VCV, "immrgb", GECmdFormat::RGB },
|
||||
{ GE_CMD_VAP, "imma_prim", GECmdFormat::ALPHA_PRIM },
|
||||
{ GE_CMD_VFC, "immfog", GECmdFormat::DATA8 },
|
||||
{ GE_CMD_VSCV, "immrgb1", GECmdFormat::RGB },
|
||||
{ GE_CMD_VSCZ, "immz", GECmdFormat::DATA16, CMD_FMT_HEX },
|
||||
{ GE_CMD_VTCS, "imms", GECmdFormat::FLOAT, CMD_FMT_XYZ, 0, GE_CMD_VTCT, GE_CMD_VTCQ },
|
||||
{ GE_CMD_VTCT, "immt", GECmdFormat::FLOAT, CMD_FMT_FLOAT24 },
|
||||
{ GE_CMD_VTCQ, "immq", GECmdFormat::FLOAT, CMD_FMT_FLOAT24 },
|
||||
{ GE_CMD_VCV, "immrgb", GECmdFormat::RGB, CMD_FMT_HEX },
|
||||
{ GE_CMD_VAP, "imma_prim", GECmdFormat::ALPHA_PRIM, CMD_FMT_HEX }, // TODO: format?
|
||||
{ GE_CMD_VFC, "immfog", GECmdFormat::DATA8, CMD_FMT_HEX8 },
|
||||
{ GE_CMD_VSCV, "immrgb1", GECmdFormat::RGB, CMD_FMT_HEX },
|
||||
{ GE_CMD_UNKNOWN_FA, "unknownfa", GECmdFormat::NONE },
|
||||
{ GE_CMD_UNKNOWN_FB, "unknownfb", GECmdFormat::NONE },
|
||||
{ GE_CMD_UNKNOWN_FC, "unknownfc", GECmdFormat::NONE },
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
#include "GPU/ge_constants.h"
|
||||
|
||||
enum class GECmdFormat {
|
||||
|
@ -71,10 +72,59 @@ enum class GECmdFormat {
|
|||
ALPHA_PRIM, // 8 bits alpha, 3 bits primitive type, 1 bit antialias, 6 bit clip?, 1 bit shading, 1 bit cullenable, 1 bit cullface, 1 bit tex enable, 1 bit fog, 1 bit dither.
|
||||
};
|
||||
|
||||
// TODO: Merge with the above.
|
||||
enum CmdFormatType {
|
||||
CMD_FMT_HEX = 0,
|
||||
CMD_FMT_NUM,
|
||||
CMD_FMT_FLOAT24,
|
||||
CMD_FMT_PTRWIDTH,
|
||||
CMD_FMT_XY,
|
||||
CMD_FMT_XYXY,
|
||||
CMD_FMT_XYZ,
|
||||
CMD_FMT_XYPLUS1,
|
||||
CMD_FMT_TEXSIZE,
|
||||
CMD_FMT_F16_XY,
|
||||
CMD_FMT_VERTEXTYPE,
|
||||
CMD_FMT_TEXFMT,
|
||||
CMD_FMT_CLUTFMT,
|
||||
CMD_FMT_COLORTEST,
|
||||
CMD_FMT_ALPHATEST,
|
||||
CMD_FMT_STENCILTEST,
|
||||
CMD_FMT_ZTEST,
|
||||
CMD_FMT_OFFSETADDR,
|
||||
CMD_FMT_VADDR,
|
||||
CMD_FMT_IADDR,
|
||||
CMD_FMT_MATERIALUPDATE,
|
||||
CMD_FMT_STENCILOP,
|
||||
CMD_FMT_BLENDMODE,
|
||||
CMD_FMT_FLAG,
|
||||
CMD_FMT_CLEARMODE,
|
||||
CMD_FMT_TEXFUNC,
|
||||
CMD_FMT_TEXMODE,
|
||||
CMD_FMT_LOGICOP,
|
||||
CMD_FMT_TEXWRAP,
|
||||
CMD_FMT_TEXLEVEL,
|
||||
CMD_FMT_TEXFILTER,
|
||||
CMD_FMT_TEXMAPMODE,
|
||||
CMD_FMT_TEXSHADELS,
|
||||
CMD_FMT_SHADEMODEL,
|
||||
CMD_FMT_LIGHTMODE,
|
||||
CMD_FMT_LIGHTTYPE,
|
||||
CMD_FMT_CULL,
|
||||
CMD_FMT_PATCHPRIMITIVE,
|
||||
CMD_FMT_HEX8 = CMD_FMT_HEX, // TODO
|
||||
CMD_FMT_INTEGER = CMD_FMT_HEX,
|
||||
};
|
||||
|
||||
|
||||
struct GECmdInfo {
|
||||
GECommand reg;
|
||||
const char *name;
|
||||
GECmdFormat fmt;
|
||||
CmdFormatType fmtType;
|
||||
uint8_t enableCmd;
|
||||
uint8_t otherCmd;
|
||||
uint8_t otherCmd2;
|
||||
};
|
||||
|
||||
bool GECmdInfoByName(const char *name, GECmdInfo &info);
|
||||
|
|
|
@ -6,49 +6,9 @@
|
|||
|
||||
#include "Common/CommonTypes.h"
|
||||
|
||||
#include "GPU/Debugger/GECommandTable.h"
|
||||
// Extracted from Windows/GE Debugger/TabState.cpp
|
||||
|
||||
enum CmdFormatType {
|
||||
CMD_FMT_HEX = 0,
|
||||
CMD_FMT_NUM,
|
||||
CMD_FMT_FLOAT24,
|
||||
CMD_FMT_PTRWIDTH,
|
||||
CMD_FMT_XY,
|
||||
CMD_FMT_XYXY,
|
||||
CMD_FMT_XYZ,
|
||||
CMD_FMT_XYPLUS1,
|
||||
CMD_FMT_TEXSIZE,
|
||||
CMD_FMT_F16_XY,
|
||||
CMD_FMT_VERTEXTYPE,
|
||||
CMD_FMT_TEXFMT,
|
||||
CMD_FMT_CLUTFMT,
|
||||
CMD_FMT_COLORTEST,
|
||||
CMD_FMT_ALPHATEST,
|
||||
CMD_FMT_STENCILTEST,
|
||||
CMD_FMT_ZTEST,
|
||||
CMD_FMT_OFFSETADDR,
|
||||
CMD_FMT_VADDR,
|
||||
CMD_FMT_IADDR,
|
||||
CMD_FMT_MATERIALUPDATE,
|
||||
CMD_FMT_STENCILOP,
|
||||
CMD_FMT_BLENDMODE,
|
||||
CMD_FMT_FLAG,
|
||||
CMD_FMT_CLEARMODE,
|
||||
CMD_FMT_TEXFUNC,
|
||||
CMD_FMT_TEXMODE,
|
||||
CMD_FMT_LOGICOP,
|
||||
CMD_FMT_TEXWRAP,
|
||||
CMD_FMT_TEXLEVEL,
|
||||
CMD_FMT_TEXFILTER,
|
||||
CMD_FMT_TEXMAPMODE,
|
||||
CMD_FMT_TEXSHADELS,
|
||||
CMD_FMT_SHADEMODEL,
|
||||
CMD_FMT_LIGHTMODE,
|
||||
CMD_FMT_LIGHTTYPE,
|
||||
CMD_FMT_CULL,
|
||||
CMD_FMT_PATCHPRIMITIVE,
|
||||
};
|
||||
|
||||
enum VertexListCols {
|
||||
VERTEXLIST_COL_X,
|
||||
VERTEXLIST_COL_Y,
|
||||
|
|
Loading…
Add table
Reference in a new issue