public void SetEntry(int index, SRT0TextureEntry value) { *(SRT0TextureEntry*)(Address + GetOffset(index)) = value; }
public void SetEntry(int index, SRT0TextureEntry value) { *(SRT0TextureEntry *)(Address + GetOffset(index)) = value; }
public static KeyframeCollection DecodeSRT0Keyframes(SRT0TextureEntry* entry, int numFrames) { KeyframeCollection kf = new KeyframeCollection(numFrames); bfloat* sPtr = (bfloat*)entry->Data; SRT0Code code = entry->Code; if (!code.NoScale) { if (code.ScaleIsotropic) { if (code.FixedScaleX) kf[KeyFrameMode.ScaleXYZ, 0] = *sPtr++; else DecodeSRT0Frames(kf, (VoidPtr)sPtr + *(buint*)sPtr++, KeyFrameMode.ScaleXYZ); } else { if (code.FixedScaleX) kf[KeyFrameMode.ScaleX, 0] = *sPtr++; else DecodeSRT0Frames(kf, (VoidPtr)sPtr + *(buint*)sPtr++, KeyFrameMode.ScaleX); if (code.FixedScaleY) kf[KeyFrameMode.ScaleY, 0] = *sPtr++; else DecodeSRT0Frames(kf, (VoidPtr)sPtr + *(buint*)sPtr++, KeyFrameMode.ScaleY); } } if (!code.NoRotation) if (code.FixedRotation) kf[KeyFrameMode.RotX, 0] = *sPtr++; else DecodeSRT0Frames(kf, (VoidPtr)sPtr + *(buint*)sPtr++, KeyFrameMode.RotX); if (!code.NoTranslation) { if (code.FixedX) kf[KeyFrameMode.TransX, 0] = *sPtr++; else DecodeSRT0Frames(kf, (VoidPtr)sPtr + *(buint*)sPtr++, KeyFrameMode.TransX); if (code.FixedY) kf[KeyFrameMode.TransY, 0] = *sPtr++; else DecodeSRT0Frames(kf, (VoidPtr)sPtr + *(buint*)sPtr++, KeyFrameMode.TransY); } return kf; }