#ifndef RD501_MARKER_CONFIG_MACROS #define RD501_MARKER_CONFIG_MACROS #define RD501_MARKER_ADDON RD501_Markers #define RD501_MARKER_QUOTE(target) #target #define RD501_MARKER_CONCAT(a,b) a##b //Convention: ui\markers\outline\rd501_marker_name_outline.paa #define RD501_MARKER_OUTLINE_PATH(name) RD501_MARKER_CONCAT(RD501_MARKER_ADDON,RD501_MARKER_CONCAT(\ui\markers\outline\rd501_marker_,RD501_MARKER_CONCAT(name,_outline.paa))) //Convention: ui\markers\logo\rd501_marker_name_logo.paa #define RD501_MARKER_LOGO_PATH(name) RD501_MARKER_CONCAT(RD501_MARKER_ADDON,RD501_MARKER_CONCAT(\ui\markers\logo\rd501_marker_,RD501_MARKER_CONCAT(name,_logo.paa))) #define RD501_MARKER_ARR_4(a,b,c,d) a, b, c, d //CfgMarker class, accepts typical vars and sets them, is wrapped by others below #define RD501_MARKER_CLASS_BASE(className,displayName,iconPath,hasShadow,markerSize,markerColour,markerGroup,markerScope) class className\ {\ name = displayName;\ icon = iconPath;\ texture = iconPath;\ color[] = markerColour;\ size = markerSize;\ shadow = hasShadow;\ markerClass = markerGroup;\ scope = markerScope;\ } // Group used for ordering in the marker menu #define RD501_MARKER_GROUP RD501_unitMarkers #define RD501_MARKER_GROUP_QUOTED RD501_MARKER_QUOTE(RD501_MARKER_GROUP) // SOURCECOLOUR -> Logos, things that need to keep their colour, generally only are white. // RD501_Marker_name_type #define RD501_MARKER_CLASSNAME(name,type) RD501_MARKER_CONCAT(RD501_Marker_,RD501_MARKER_CONCAT(name,RD501_MARKER_CONCAT(_,type))) #define RD501_MARKER_SOURCECOLOUR_NOSHADOW_GROUPED_PUBLIC(className,displayName,iconPath,markerSize) RD501_MARKER_CLASS_BASE(className,displayName,iconPath,false,markerSize,{RD501_MARKER_ARR_4(0,0,0,1)},RD501_MARKER_GROUP_QUOTED,2) // ANYCOLOUR -> Normal Map Markers, things that are colourable, or atleast survive being coloured well. #define RD501_MARKER_ANYCOLOUR_NOSHADOW_GROUPED_PUBLIC(className,displayName,iconPath,markerSize) RD501_MARKER_CLASS_BASE(className,displayName,iconPath,false,markerSize,{RD501_MARKER_ARR_4(0,0,0,1)},RD501_MARKER_GROUP_QUOTED,2) #endif