Nuclide
Software Development Kit for id Technology (BETA)
AVReceiver.h
1/*
2 * Copyright (c) 2025 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
35class
37{
38public:
39 void ncAVReceiver(void);
40
41#ifdef SERVER
42 virtual void Input(entity,string,string);
43 virtual void SpawnKey(string,string);
44
45 virtual void EvaluateEntity(void);
46 virtual float SendEntity(entity,float);
47#endif
48
49#ifdef CLIENT
50 virtual void Draw(void);
51 virtual void ReceiveEntity(float,float);
52 virtual void UpdateSpeakers(void);
53 virtual void UpdateVideoOutputs(void);
54 virtual void RefreshVideoDisplay(entity);
55 virtual void OnRemoveEntity(void);
56 virtual void KillVideoOutputs(void);
57
58 nonvirtual int GlobalBroadcasters(void);
59 nonvirtual string GetMaterialForChannel(int channelNum);
60#endif
61
62private:
63 NETWORKED_INT(m_avReceiverChannel)
64 NETWORKED_FLOAT(m_avReceiverVolume)
65 NETWORKED_FLOAT(m_avReceiverMuted)
66 bool m_triggerEnabled_net;
67
68#ifdef CLIENT
69 bool m_triggerEnabled;
70#endif
71};
72
73typedef enumflags
74{
75 AVRECEIVERFL_ORIGIN,
76 AVRECEIVERFL_CHAN,
77 AVRECEIVERFL_VOLUME,
78 AVRECEIVERFL_ENABLED,
79 AVRECEIVERFL_MUTED,
80};
Definition: AVReceiver.h:37
Definition: MediaSource.h:3
typedef enumflags
Defines the valid alignment flags for text fields.
Definition: font.h:37