OpenMoHAA 0.82.0
Loading...
Searching...
No Matches
decals.h
1/*
2===========================================================================
3Copyright (C) 2024 the OpenMoHAA team
4
5This file is part of OpenMoHAA source code.
6
7OpenMoHAA source code is free software; you can redistribute it
8and/or modify it under the terms of the GNU General Public License as
9published by the Free Software Foundation; either version 2 of the License,
10or (at your option) any later version.
11
12OpenMoHAA source code is distributed in the hope that it will be
13useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with OpenMoHAA source code; if not, write to the Free Software
19Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20===========================================================================
21*/
22
23// decals.h: Decal entities
24
25#pragma once
26
27#include "g_local.h"
28#include "entity.h"
29
30class Decal : public Entity
31 {
32 private:
33 str shader;
34
35 public:
36 CLASS_PROTOTYPE( Decal );
37
38 Decal();
39 void setDirection( Vector dir );
40 void setShader( str shader );
41 void setOrientation( str deg );
42 void setRadius( float rad );
43 void Archive( Archiver &arc ) override;
44 };
45
46inline void Decal::Archive
47 (
48 Archiver &arc
49 )
50 {
51 Entity::Archive( arc );
52
53 arc.ArchiveString( &shader );
54 if ( arc.Loading() )
55 {
56 setShader( shader );
57 }
58 }
Definition archive.h:86
Definition vector.h:61
Definition str.h:77