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); }