Пример #1
0
        GhostFrameData ConvertNewToOld(int inData)
        {
            GhostFrameData outData;

            outData.x = (short)Utilities.GetIntFromBitsP1P2(inData, 0, 9);
            int yPos = Utilities.GetIntFromBitsP1P2(inData, 16, 23);

            if ((yPos + yReadingTotal) < ((yMaxSoFar) - 50))
            {
                yReadingTotal += 128;
            }
            else if ((yPos + yReadingTotal) > ((yMaxSoFar) + 80))
            {
                yReadingTotal -= 128;
            }

            outData.y        = (short)(yReadingTotal + yPos);
            yMaxSoFar        = outData.y;
            outData.rotation = (short)Utilities.GetIntFromBitsP1P2(inData, 10, 15);
            float posZ = (float)Utilities.GetIntFromBitsP1P2(inData, 24, 31);

            if (posZ > 0)
            {
            }

            if ((posZ + zReadingTotal) < ((zMaxSoFar) - 60))
            {
                zReadingTotal += 128;
            }
            else if ((posZ + zReadingTotal) > ((zMaxSoFar) + 60))
            {
                zReadingTotal -= 128;
            }

            outData.positionZ = zReadingTotal + posZ;
            zMaxSoFar         = outData.positionZ;
            outData.anim      = 0;
            return(outData);
        }