aboutsummaryrefslogtreecommitdiff
path: root/src/Decals.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Decals.cpp')
-rw-r--r--src/Decals.cpp26
1 files changed, 11 insertions, 15 deletions
diff --git a/src/Decals.cpp b/src/Decals.cpp
index 92888ec..1522053 100644
--- a/src/Decals.cpp
+++ b/src/Decals.cpp
@@ -31,7 +31,7 @@ int Decals::MakeDecal(int atype, XYZ location, float size, XYZ normal, int poly,
XYZ axis[3];
XYZ temp;
- nothing=0;
+ nothing = {};
axis[0].x=1;
axis[1].y=1;
@@ -44,20 +44,16 @@ int Decals::MakeDecal(int atype, XYZ location, float size, XYZ normal, int poly,
if(normalv[1]>normalv[major])major=1;
if(normalv[2]>normalv[major])major=2;
- if (normalv[0] == 1 || normalv[1] == 1 || normalv[2] == 1)
- {
- if ((major == 0 && normal.x > 0) || major == 1){
- right=0;
- right.z=-1;}
- else if (major == 0){
- right=0;
- right.z=1;}
- else {
- right=0;
- right.x=normal.z;}
- }
- else
- CrossProduct(axis[major], normal, &right);
+ if (normalv[0] == 1 || normalv[1] == 1 || normalv[2] == 1) {
+ if (major == 0 && normal.x > 0 || major == 1)
+ right = {0.0f, 0.0f, -1.0f};
+ else if (major == 0)
+ right = {0.0f, 0.0f, 1.0f};
+ else if (major == 0)
+ right = {normal.z, 0.0f, 0.0f};
+ } else {
+ CrossProduct(axis[major], normal, &right);
+ }
CrossProduct(normal, right, &up);
Normalise(&up);