diff options
| author | Nguyễn Gia Phong <mcsinyx@disroot.org> | 2021-12-09 23:07:32 +0700 |
|---|---|---|
| committer | Nguyễn Gia Phong <mcsinyx@disroot.org> | 2021-12-09 23:37:37 +0700 |
| commit | 48417e11854f832c40a42ec497cad3b275b57b2e (patch) | |
| tree | 73162cd7294a49ba39f0f06afd16da74dee0f6da /src/Decals.cpp | |
| parent | e4888c19818ef61264ea4e1b0da9ebdc302f1483 (diff) | |
| download | blackshades-48417e11854f832c40a42ec497cad3b275b57b2e.tar.gz | |
Make XYZ C-compatible
Diffstat (limited to 'src/Decals.cpp')
| -rw-r--r-- | src/Decals.cpp | 26 |
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); |
