mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-27 14:42:07 +00:00
c1b85a3db7
This allows the likes of: qfv_pushconstantrangeinfo_s = { .name = qfv_pushconstantrangeinfo_t; .type = (QFDictionary); .dictionary = { .parse = { type = (labeledarray, qfv_pushconstantinfo_t, name); size = num_pushconstants; values = pushconstants; }; stageFlags = $name.auto; }; stageFlags = auto; }; Leading to: pushConstants = { vertex = { Model = mat4; blend = float; }; fragment = { colors = uint; base_color = vec4; fog = vec4; }; }; Where the label of the labeled array (which pushConstants is) is actually an enum flag and the dictionary value is another labeled array.
30 lines
597 B
Objective-C
30 lines
597 B
Objective-C
#ifndef __renderer_vulkan_vkgen_vkfielddef_h
|
|
#define __renderer_vulkan_vkgen_vkfielddef_h
|
|
|
|
#include <types.h>
|
|
#include <Object.h>
|
|
|
|
@class PLItem;
|
|
@class Struct;
|
|
@class Type;
|
|
|
|
@interface FieldDef: Object
|
|
{
|
|
int line;
|
|
qfot_var_t *field;
|
|
string struct_name;
|
|
string field_name;
|
|
string value_field;
|
|
string size_field;
|
|
}
|
|
+fielddef:(PLItem *)item struct:(Struct *)strct field:(string)fname;
|
|
-init:(PLItem *)item struct:(Struct *)strct field:(string)fname;
|
|
-writeParseData;
|
|
-writeParse;
|
|
-writeField;
|
|
-writeSymbol;
|
|
-(string) name;
|
|
-(int) searchType;
|
|
@end
|
|
|
|
#endif//__renderer_vulkan_vkgen_vkfielddef_h
|