예제 #1
0
        public static zVec3 Create(Process process)
        {
            zVec3  rV   = new zVec3();
            IntPtr addr = process.Alloc((uint)rV.SizeOf());

            rV.Initialize(process, addr.ToInt32());
            return(rV);
        }
예제 #2
0
        public static zVec3 operator *(zMat4 a, zVec3 v)
        {
            float x = a.get(0).get(0) * v.get(0) + a.get(0).get(1) * v.get(1) + a.get(0).get(2) * v.get(2) + a.get(0).get(3);
            float y = a.get(1).get(0) * v.get(0) + a.get(1).get(1) * v.get(1) + a.get(1).get(2) * v.get(2) + a.get(1).get(3);
            float z = a.get(2).get(0) * v.get(0) + a.get(2).get(1) * v.get(1) + a.get(2).get(2) * v.get(2) + a.get(2).get(3);

            zVec3 nV = zVec3.Create(a.Process);

            nV.X = x;
            nV.Y = y;
            nV.Z = z;

            return(nV);
        }
예제 #3
0
 public void SetAtVector(zVec3 vec)
 {
     Process.THISCALL <NullReturnCall>((uint)Address, (uint)0x0056B960, new CallValue[] { vec });
 }