Add new asset type definitions: - GfxWorld and related structures (cells, lights, probes) - Menu system (menudef, itemdef, windowdef, listboxdef) - Sound system (soundalias, soundfile, speakermap, sndcurve) - D3D resources (vertex/index buffers) - Font glyphs and expression entries Update existing definitions with improved field annotations and UI display properties. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
39 lines
1.2 KiB
Plaintext
39 lines
1.2 KiB
Plaintext
type materialpass [display="Material Pass"]
|
|
{
|
|
// Pointers first (header)
|
|
i32 vertex_decl_ptr [ui, readonly, display="Vertex Decl Ptr"];
|
|
i32 vertex_shader_ptr [ui, readonly, display="Vertex Shader Ptr"];
|
|
i32 pixel_shader_ptr [ui, readonly, display="Pixel Shader Ptr"];
|
|
|
|
// Arg counts (COD4 uses u8)
|
|
u8 per_prim_arg_count [ui, readonly, display="Per Prim Arg Count"];
|
|
u8 per_obj_arg_count [ui, readonly, display="Per Obj Arg Count"];
|
|
u8 stable_arg_count [ui, readonly, display="Stable Arg Count"];
|
|
u8 custom_sampler_flags [ui, readonly, display="Custom Sampler Flags"];
|
|
|
|
i32 args_ptr [ui, readonly, display="Args Ptr"];
|
|
|
|
// Now parse inline data if pointers are -1
|
|
if (vertex_decl_ptr == -1) {
|
|
vertex_decl = parse_here("materialvertexdeclaration");
|
|
}
|
|
|
|
if (vertex_shader_ptr == -1) {
|
|
vertex_shader = parse_here("materialvertexshader");
|
|
}
|
|
|
|
if (pixel_shader_ptr == -1) {
|
|
pixel_shader = parse_here("pixelshader");
|
|
}
|
|
|
|
// Parse args if ptr is -1 (inline)
|
|
_arg_count = stable_arg_count + per_obj_arg_count + per_prim_arg_count;
|
|
if (args_ptr == -1 && _arg_count > 0) {
|
|
arguments = 0;
|
|
repeat(_arg_count) {
|
|
_arg = parse_here("materialshaderargument");
|
|
arguments = push("arguments", _arg);
|
|
}
|
|
}
|
|
}
|