Nuclide
Software Development Kit for id Tech
decalgroups.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2022-2024 Vera Visions LLC.
3 *
4 * Permission to use, copy, modify, and distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
7 *
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 * WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
13 * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
14 * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15*/
16
17/*
18 Decal Property List Specs
19
20 A decal group consists of one material per line:
21
22 groupname
23 {
24 "textures/decals/foo" "1"
25 "textures/decals/bar" "1"
26 }
27
28 And the weight is used to determine how often the decal gets used.
29 If you're unsure, put in "1".
30
31 Also, any group named 'TranslationData' will be ignored.
32 That group is used in Source Engine games to map the 'gamematerial'
33 keys from surfaceproperties.txt over to a decal.
34
35 The reason why we can't support it is simple:
36 In Source, decals are tied to surfaceproperties and in GoldSrc
37 the weapons are responsible for deciding which decals to use
38 on a surface. We obviously cannot do both, but the GoldSrc way
39 is the most appropriate one for our purposes.
40
41*/
42
43/* public API */
44void DecalGroups_Init(void);
45void DecalGroups_Place(string group, vector org);
46int DecalGroups_NumForName(string group);
47
48#ifdef CLIENT
49void DecalGroups_Precache(void);
50void DecalGroups_Receive(void);
51#endif
void DecalGroups_Place(string group, vector org)
Definition: decalgroups.qc:203
void DecalGroups_Init(void)
Definition: decalgroups.qc:112
void DecalGroups_Receive(void)
Definition: decalgroups.qc:234
int DecalGroups_NumForName(string group)
Definition: decalgroups.qc:197
void DecalGroups_Precache(void)
Definition: decalgroups.qc:164
vector(vector) normalize