User:SirYodaJedi/Sandbox

From Valve Developer Community
Jump to navigation Jump to search

WAD JSON for ericw-tools concept

{
"AAALADDER" :
{
    // valid instances of "contents"; either:
    // - a case-insensitive string containing the textual representation
    //   of the content type
    // - a number
    // It cannot be an array, due to BSP format limitations
    "contents": -16,
    "contents": "LADDER",

    // valid instances of "flags"; either:
    // - a case-insensitive string containing the textual representation
    //   of the surface flags
    // - a number
    // - an array of the two above, which will be OR'd together
    "flags": [ "SPECIAL", 16 ],
    "flags": 24,
    "flags": "SPECIAL",

    // Array of compiler-specific flags that aren't written to the actual 
    "compile_flags": [ "NODRAW", "NOCULL" ],

    // array of which ambients to affect, instead of basing upon texture prefix ("NONE" to not have ambients)
    "ambients": [ "SKY", "WATER" ],

    "contents_priority": 1, // which priority group to use for determining brush contents when mismatch
    "hulls": [ 1, 3], // which clipping hulls are affected
    "light": 1234, // Texlight brightness
    "subdivide_size": 48, // override subdivision size

    // defaults if not defined in entities other than worldspawn
    "_phong_angle": "44",
    "_shadow": "-1",
    

    // width/height are allowed to be supplied in order to
    // have the editor treat the surface as if its dimensions
    // are these rather than the ones pulled in from the image
    // itself. they must be integers.
    "width": 64,
    "height": 64,

    // color to use for lighting bounces. if specified, this
    // is used instead of averaging the pixels of the image.
    "color": [255, 128, 64]
}
}

Point entity for casting ambient visleaf sounds for Quake BSPs

@PointClass color(0 0 255) iconsprite("sprites/speaker.spr") = ambient_visleaf : 
	"A compiler-only entity that casts nondirectional ambient sounds, which have their volume controlled in visleaves. Only used in Quake I and Hexen II; not used in GoldSrc, and not available in Quake II."
[
	_type(choices) : "Ambience type" : 0 : "What type of ambient sounds to emit from this point. Only water and sky have any effect in most engines." =
	[
		0 : "Water" // ambience/water1.wav
		1 : "Sky" // ambience/wind2.wav
		2 : "Slime" // unused
		3 : "Lava" // unused
	]

	// volume controls would be nice, but would require more work to implement
	_volume(float) : "Max Volume" : 1.0 : "How loud this sound is when the listener is in the same visleaf as it (range 0-1)."
	_attenuation(float) : "Distance attenuation scale" : 1.0 // idk how this'd work

	// might want to put another entity-based sound in the same location, like ambient_drip
	_keep(choices) : "Don't strip after compiling" : : "Enable this to keep this entity in the compiled BSP after VIS is done running. Normally, it is removed to avoid flooding the dev console (and reduce file size)." =
	[
		"" : "Strip entity"
		1 : "Keep" 
	]
	_rename_postcompile(string) : "Entity if kept" : : "If this entity isn't stripped after compiling VIS, the classname is changed to this." // Should be done after RAD is done, so it can be used for other purposes
]
@PointClass color(0 0 255) = map2prop_texdata : 
	"Texture definition for Map2Prop"
[
	texture(shader) : "Texture name" : : "Name of the texture as seen in the map; limit 56 characters."
	remap_texture(string) : "Remap texture name" : : "Name of the texture as seen in the resulting SMD, if different from the name in the map; limit 56 characters."
	
	res_x(integer) : "X resolution" : : "Dimensions of the texture on the X axis"
	res_x(integer) : "Y resolution" : : "Dimensions of the texture on the X axis"

	smooth(float) : "Smoothing threshold" : 44
	smooth_group(integer) : "Smoothing group" : 0 : "Edges between textures in different smoothing groups are always treated as sharp."

	normal_flip(integer) : "Invert normals" : 0
	spawnflags(flags) = 
	[
		// Using for $texrendermode; uses same values as in the MDL
		1 : "Flatshade" : 0
		2 : "Chrome" : 0
		4 : "Fullbright (Sven only)" : 0
		32 : "Additive" : 0
		64 : "Masked" : 0
	]
	
]