Dump IW4 techset code constant argument mappings

This commit is contained in:
Jan
2022-03-24 23:04:35 +01:00
parent 7760e1579c
commit ef936eba57
3 changed files with 500 additions and 4 deletions

View File

@ -917,6 +917,220 @@ namespace IW4
MaterialPixelShaderProgram prog;
};
enum MaterialTextureSource
{
TEXTURE_SRC_CODE_BLACK = 0x0,
TEXTURE_SRC_CODE_WHITE = 0x1,
TEXTURE_SRC_CODE_IDENTITY_NORMAL_MAP = 0x2,
TEXTURE_SRC_CODE_MODEL_LIGHTING = 0x3,
TEXTURE_SRC_CODE_LIGHTMAP_PRIMARY = 0x4,
TEXTURE_SRC_CODE_LIGHTMAP_SECONDARY = 0x5,
TEXTURE_SRC_CODE_SHADOWMAP_SUN = 0x6,
TEXTURE_SRC_CODE_SHADOWMAP_SPOT = 0x7,
TEXTURE_SRC_CODE_FEEDBACK = 0x8,
TEXTURE_SRC_CODE_RESOLVED_POST_SUN = 0x9,
TEXTURE_SRC_CODE_RESOLVED_SCENE = 0xA,
TEXTURE_SRC_CODE_POST_EFFECT_0 = 0xB,
TEXTURE_SRC_CODE_POST_EFFECT_1 = 0xC,
TEXTURE_SRC_CODE_LIGHT_ATTENUATION = 0xD,
TEXTURE_SRC_CODE_OUTDOOR = 0xE,
TEXTURE_SRC_CODE_FLOATZ = 0xF,
TEXTURE_SRC_CODE_PROCESSED_FLOATZ = 0x10,
TEXTURE_SRC_CODE_RAW_FLOATZ = 0x11,
TEXTURE_SRC_CODE_HALF_PARTICLES = 0x12,
TEXTURE_SRC_CODE_HALF_PARTICLES_Z = 0x13,
TEXTURE_SRC_CODE_CASE_TEXTURE = 0x14,
TEXTURE_SRC_CODE_CINEMATIC_Y = 0x15,
TEXTURE_SRC_CODE_CINEMATIC_CR = 0x16,
TEXTURE_SRC_CODE_CINEMATIC_CB = 0x17,
TEXTURE_SRC_CODE_CINEMATIC_A = 0x18,
TEXTURE_SRC_CODE_REFLECTION_PROBE = 0x19,
TEXTURE_SRC_CODE_ALTERNATE_SCENE = 0x1A,
TEXTURE_SRC_CODE_COUNT
};
struct CodeSamplerSource
{
const char* name;
MaterialTextureSource source;
CodeSamplerSource* subtable;
int arrayCount;
int arrayStride;
};
enum MaterialConstantSource
{
CONST_SRC_CODE_MAYBE_DIRTY_PS_BEGIN = 0x0,
CONST_SRC_CODE_LIGHT_POSITION = 0x0,
CONST_SRC_CODE_LIGHT_DIFFUSE = 0x1,
CONST_SRC_CODE_LIGHT_SPECULAR = 0x2,
CONST_SRC_CODE_LIGHT_SPOTDIR = 0x3,
CONST_SRC_CODE_LIGHT_SPOTFACTORS = 0x4,
CONST_SRC_CODE_LIGHT_FALLOFF_PLACEMENT = 0x5,
CONST_SRC_CODE_PARTICLE_CLOUD_COLOR = 0x6,
CONST_SRC_CODE_GAMETIME = 0x7,
CONST_SRC_CODE_MAYBE_DIRTY_PS_END = 0x8,
CONST_SRC_CODE_ALWAYS_DIRTY_PS_BEGIN = 0x8,
CONST_SRC_CODE_PIXEL_COST_FRACS = 0x8,
CONST_SRC_CODE_PIXEL_COST_DECODE = 0x9,
CONST_SRC_CODE_FILTER_TAP_0 = 0xA,
CONST_SRC_CODE_FILTER_TAP_1 = 0xB,
CONST_SRC_CODE_FILTER_TAP_2 = 0xC,
CONST_SRC_CODE_FILTER_TAP_3 = 0xD,
CONST_SRC_CODE_FILTER_TAP_4 = 0xE,
CONST_SRC_CODE_FILTER_TAP_5 = 0xF,
CONST_SRC_CODE_FILTER_TAP_6 = 0x10,
CONST_SRC_CODE_FILTER_TAP_7 = 0x11,
CONST_SRC_CODE_COLOR_MATRIX_R = 0x12,
CONST_SRC_CODE_COLOR_MATRIX_G = 0x13,
CONST_SRC_CODE_COLOR_MATRIX_B = 0x14,
CONST_SRC_CODE_SHADOWMAP_POLYGON_OFFSET = 0x15,
CONST_SRC_CODE_RENDER_TARGET_SIZE = 0x16,
CONST_SRC_CODE_ALWAYS_DIRTY_PS_END = 0x17,
CONST_SRC_CODE_FIXED_PS_BEGIN = 0x17,
CONST_SRC_CODE_DOF_EQUATION_VIEWMODEL_AND_FAR_BLUR = 0x17,
CONST_SRC_CODE_DOF_EQUATION_SCENE = 0x18,
CONST_SRC_CODE_DOF_LERP_SCALE = 0x19,
CONST_SRC_CODE_DOF_LERP_BIAS = 0x1A,
CONST_SRC_CODE_DOF_ROW_DELTA = 0x1B,
CONST_SRC_CODE_MOTION_MATRIX_X = 0x1C,
CONST_SRC_CODE_MOTION_MATRIX_Y = 0x1D,
CONST_SRC_CODE_MOTION_MATRIX_W = 0x1E,
CONST_SRC_CODE_SHADOWMAP_SWITCH_PARTITION = 0x1F,
CONST_SRC_CODE_SHADOWMAP_SCALE = 0x20,
CONST_SRC_CODE_ZNEAR = 0x21,
CONST_SRC_CODE_LIGHTING_LOOKUP_SCALE = 0x22,
CONST_SRC_CODE_DEBUG_BUMPMAP = 0x23,
CONST_SRC_CODE_MATERIAL_COLOR = 0x24,
CONST_SRC_CODE_FOG = 0x25,
CONST_SRC_CODE_FOG_COLOR_LINEAR = 0x26,
CONST_SRC_CODE_FOG_COLOR_GAMMA = 0x27,
CONST_SRC_CODE_FOG_SUN_CONSTS = 0x28,
CONST_SRC_CODE_FOG_SUN_COLOR_LINEAR = 0x29,
CONST_SRC_CODE_FOG_SUN_COLOR_GAMMA = 0x2A,
CONST_SRC_CODE_FOG_SUN_DIR = 0x2B,
CONST_SRC_CODE_GLOW_SETUP = 0x2C,
CONST_SRC_CODE_GLOW_APPLY = 0x2D,
CONST_SRC_CODE_COLOR_BIAS = 0x2E,
CONST_SRC_CODE_COLOR_TINT_BASE = 0x2F,
CONST_SRC_CODE_COLOR_TINT_DELTA = 0x30,
CONST_SRC_CODE_COLOR_TINT_QUADRATIC_DELTA = 0x31,
CONST_SRC_CODE_OUTDOOR_FEATHER_PARMS = 0x32,
CONST_SRC_CODE_ENVMAP_PARMS = 0x33,
CONST_SRC_CODE_SUN_SHADOWMAP_PIXEL_ADJUST = 0x34,
CONST_SRC_CODE_SPOT_SHADOWMAP_PIXEL_ADJUST = 0x35,
CONST_SRC_CODE_COMPOSITE_FX_DISTORTION = 0x36,
CONST_SRC_CODE_POSTFX_FADE_EFFECT = 0x37,
CONST_SRC_CODE_VIEWPORT_DIMENSIONS = 0x38,
CONST_SRC_CODE_FRAMEBUFFER_READ = 0x39,
CONST_SRC_CODE_FIXED_PS_END = 0x3A,
CONST_SRC_CODE_NON_PS_BEGIN = 0x3A,
CONST_SRC_CODE_BASE_LIGHTING_COORDS = 0x3A,
CONST_SRC_CODE_LIGHT_PROBE_AMBIENT = 0x3B,
CONST_SRC_CODE_NEARPLANE_ORG = 0x3C,
CONST_SRC_CODE_NEARPLANE_DX = 0x3D,
CONST_SRC_CODE_NEARPLANE_DY = 0x3E,
CONST_SRC_CODE_CLIP_SPACE_LOOKUP_SCALE = 0x3F,
CONST_SRC_CODE_CLIP_SPACE_LOOKUP_OFFSET = 0x40,
CONST_SRC_CODE_PARTICLE_CLOUD_MATRIX0 = 0x41,
CONST_SRC_CODE_PARTICLE_CLOUD_MATRIX1 = 0x42,
CONST_SRC_CODE_PARTICLE_CLOUD_MATRIX2 = 0x43,
CONST_SRC_CODE_PARTICLE_CLOUD_SPARK_COLOR0 = 0x44,
CONST_SRC_CODE_PARTICLE_CLOUD_SPARK_COLOR1 = 0x45,
CONST_SRC_CODE_PARTICLE_CLOUD_SPARK_COLOR2 = 0x46,
CONST_SRC_CODE_PARTICLE_FOUNTAIN_PARM0 = 0x47,
CONST_SRC_CODE_PARTICLE_FOUNTAIN_PARM1 = 0x48,
CONST_SRC_CODE_DEPTH_FROM_CLIP = 0x49,
CONST_SRC_CODE_CODE_MESH_ARG_0 = 0x4A,
CONST_SRC_CODE_CODE_MESH_ARG_1 = 0x4B,
CONST_SRC_CODE_CODE_MESH_ARG_LAST = 0x4B,
CONST_SRC_CODE_NON_PS_END = 0x4C,
CONST_SRC_CODE_COUNT_FLOAT4 = 0x4C,
CONST_SRC_FIRST_CODE_MATRIX = 0x4C,
CONST_SRC_CODE_VIEW_MATRIX = 0x4C,
CONST_SRC_CODE_INVERSE_VIEW_MATRIX = 0x4D,
CONST_SRC_CODE_TRANSPOSE_VIEW_MATRIX = 0x4E,
CONST_SRC_CODE_INVERSE_TRANSPOSE_VIEW_MATRIX = 0x4F,
CONST_SRC_CODE_PROJECTION_MATRIX = 0x50,
CONST_SRC_CODE_INVERSE_PROJECTION_MATRIX = 0x51,
CONST_SRC_CODE_TRANSPOSE_PROJECTION_MATRIX = 0x52,
CONST_SRC_CODE_INVERSE_TRANSPOSE_PROJECTION_MATRIX = 0x53,
CONST_SRC_CODE_VIEW_PROJECTION_MATRIX = 0x54,
CONST_SRC_CODE_INVERSE_VIEW_PROJECTION_MATRIX = 0x55,
CONST_SRC_CODE_TRANSPOSE_VIEW_PROJECTION_MATRIX = 0x56,
CONST_SRC_CODE_INVERSE_TRANSPOSE_VIEW_PROJECTION_MATRIX = 0x57,
CONST_SRC_CODE_SHADOW_LOOKUP_MATRIX = 0x58,
CONST_SRC_CODE_INVERSE_SHADOW_LOOKUP_MATRIX = 0x59,
CONST_SRC_CODE_TRANSPOSE_SHADOW_LOOKUP_MATRIX = 0x5A,
CONST_SRC_CODE_INVERSE_TRANSPOSE_SHADOW_LOOKUP_MATRIX = 0x5B,
CONST_SRC_CODE_WORLD_OUTDOOR_LOOKUP_MATRIX = 0x5C,
CONST_SRC_CODE_INVERSE_WORLD_OUTDOOR_LOOKUP_MATRIX = 0x5D,
CONST_SRC_CODE_TRANSPOSE_WORLD_OUTDOOR_LOOKUP_MATRIX = 0x5E,
CONST_SRC_CODE_INVERSE_TRANSPOSE_WORLD_OUTDOOR_LOOKUP_MATRIX = 0x5F,
CONST_SRC_CODE_WORLD_MATRIX0 = 0x60,
CONST_SRC_CODE_INVERSE_WORLD_MATRIX0 = 0x61,
CONST_SRC_CODE_TRANSPOSE_WORLD_MATRIX0 = 0x62,
CONST_SRC_CODE_INVERSE_TRANSPOSE_WORLD_MATRIX0 = 0x63,
CONST_SRC_CODE_WORLD_VIEW_MATRIX0 = 0x64,
CONST_SRC_CODE_INVERSE_WORLD_VIEW_MATRIX0 = 0x65,
CONST_SRC_CODE_TRANSPOSE_WORLD_VIEW_MATRIX0 = 0x66,
CONST_SRC_CODE_INVERSE_TRANSPOSE_WORLD_VIEW_MATRIX0 = 0x67,
CONST_SRC_CODE_WORLD_VIEW_PROJECTION_MATRIX0 = 0x68,
CONST_SRC_CODE_INVERSE_WORLD_VIEW_PROJECTION_MATRIX0 = 0x69,
CONST_SRC_CODE_TRANSPOSE_WORLD_VIEW_PROJECTION_MATRIX0 = 0x6A,
CONST_SRC_CODE_INVERSE_TRANSPOSE_WORLD_VIEW_PROJECTION_MATRIX0 = 0x6B,
CONST_SRC_CODE_WORLD_MATRIX1 = 0x6C,
CONST_SRC_CODE_INVERSE_WORLD_MATRIX1 = 0x6D,
CONST_SRC_CODE_TRANSPOSE_WORLD_MATRIX1 = 0x6E,
CONST_SRC_CODE_INVERSE_TRANSPOSE_WORLD_MATRIX1 = 0x6F,
CONST_SRC_CODE_WORLD_VIEW_MATRIX1 = 0x70,
CONST_SRC_CODE_INVERSE_WORLD_VIEW_MATRIX1 = 0x71,
CONST_SRC_CODE_TRANSPOSE_WORLD_VIEW_MATRIX1 = 0x72,
CONST_SRC_CODE_INVERSE_TRANSPOSE_WORLD_VIEW_MATRIX1 = 0x73,
CONST_SRC_CODE_WORLD_VIEW_PROJECTION_MATRIX1 = 0x74,
CONST_SRC_CODE_INVERSE_WORLD_VIEW_PROJECTION_MATRIX1 = 0x75,
CONST_SRC_CODE_TRANSPOSE_WORLD_VIEW_PROJECTION_MATRIX1 = 0x76,
CONST_SRC_CODE_INVERSE_TRANSPOSE_WORLD_VIEW_PROJECTION_MATRIX1 = 0x77,
CONST_SRC_CODE_WORLD_MATRIX2 = 0x78,
CONST_SRC_CODE_INVERSE_WORLD_MATRIX2 = 0x79,
CONST_SRC_CODE_TRANSPOSE_WORLD_MATRIX2 = 0x7A,
CONST_SRC_CODE_INVERSE_TRANSPOSE_WORLD_MATRIX2 = 0x7B,
CONST_SRC_CODE_WORLD_VIEW_MATRIX2 = 0x7C,
CONST_SRC_CODE_INVERSE_WORLD_VIEW_MATRIX2 = 0x7D,
CONST_SRC_CODE_TRANSPOSE_WORLD_VIEW_MATRIX2 = 0x7E,
CONST_SRC_CODE_INVERSE_TRANSPOSE_WORLD_VIEW_MATRIX2 = 0x7F,
CONST_SRC_CODE_WORLD_VIEW_PROJECTION_MATRIX2 = 0x80,
CONST_SRC_CODE_INVERSE_WORLD_VIEW_PROJECTION_MATRIX2 = 0x81,
CONST_SRC_CODE_TRANSPOSE_WORLD_VIEW_PROJECTION_MATRIX2 = 0x82,
CONST_SRC_CODE_INVERSE_TRANSPOSE_WORLD_VIEW_PROJECTION_MATRIX2 = 0x83,
CONST_SRC_TOTAL_COUNT,
CONST_SRC_NONE
};
struct CodeConstantSource
{
const char* name;
unsigned char source;
CodeConstantSource* subtable;
int arrayCount;
int arrayStride;
};
struct MaterialArgumentCodeConst
{
uint16_t index;