Cam 3d2d angles being wonky?

I was dumb and thought I fixed it so I edited the post saying it was solved, but here I am putting it back.



function ENT:Draw()
    self:DrawModel()
    
    local ang = self:GetAngles()
    local fwd = ang:Forward()
    local camangle = Angle(ang.p, ang.y, ang.r)
    
    local pos = self:GetPos() + (ang:Up() * 11.88) + (ang:Right() * -2)
    
    cam.Start3D2D(pos, camangle, .3)
        draw.DrawText("Seller Side", "DebugFixed", 0, 0, Color(255, 255, 255, 255), TEXT_ALIGN_CENTER)
    cam.End3D2D()
    
    local pos = self:GetPos() + (ang:Up() * -11.88) + (ang:Right() * -2)
    local camangle2 = -ang + Angle(0, 0, -180)
    
    cam.Start3D2D(pos, camangle2, .3)
        draw.DrawText("Buyer Side", "DebugFixed", 0, 0, Color(255, 255, 255, 255), TEXT_ALIGN_CENTER)
    cam.End3D2D()
end


http://images.akamai.steamusercontent.com/ugc/447331389954095730/CCB97BD6E5AC6BCDBE8FB4C3AABA174A8CB8E1DC/

http://images.akamai.steamusercontent.com/ugc/447331389954094886/BFD28EFFFA27E6B020A19CE9582E6B0489ED9351/

Change
[lua] local camangle2 = -ang + Angle(0, 0, -180)

cam.Start3D2D(pos, camangle2, .3)[/lua]

to
[lua] camangle:RotateAroundAxis(camangle:Up(),180)

cam.Start3D2D(pos, camangle, .3)[/lua]

Angle:RotateAroundAxis

Now it’s upside down and backwards.

Then try rotating again on different axis. Just play with it until you get it right.

The point is you can’t just ‘add’ an angle to it the way you were because that doesn’t take into account how it is already rotated.