An unofficial collection of APIs used in FreeJam games and mods
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

59 lignes
1.3KB

  1. use crate::techblox::{Parsable};
  2. use libfj_parsable_macro_derive::*;
  3. use half::f16;
  4. /// Unity-like floating-point vector for 3-dimensional space.
  5. #[derive(Clone, Copy, Parsable)]
  6. pub struct UnityFloat3 {
  7. /// x coordinate
  8. pub x: f32,
  9. /// y coordinate
  10. pub y: f32,
  11. /// z coordinate
  12. pub z: f32,
  13. }
  14. /// Unity-like half-precision vector for 3-dimensional space.
  15. #[derive(Clone, Copy, Parsable)]
  16. pub struct UnityHalf3 {
  17. /// x coordinate
  18. pub x: f16,
  19. /// y coordinate
  20. pub y: f16,
  21. /// z coordinate
  22. pub z: f16,
  23. }
  24. /// Unity-like floating-point vector for 4-dimensional space.
  25. #[derive(Clone, Copy, Parsable)]
  26. pub struct UnityFloat4 {
  27. /// x coordinate
  28. pub x: f32,
  29. /// y coordinate
  30. pub y: f32,
  31. /// z coordinate
  32. pub z: f32,
  33. /// w coordinate
  34. pub w: f32,
  35. }
  36. /// Unity-like floating-point vector matrix for 4-dimensional space.
  37. #[derive(Clone, Copy, Parsable)]
  38. pub struct UnityFloat4x4 {
  39. /// c0 row(?)
  40. pub c0: UnityFloat4,
  41. /// c1 row(?)
  42. pub c1: UnityFloat4,
  43. /// c2 row(?)
  44. pub c2: UnityFloat4,
  45. /// c3 row(?)
  46. pub c3: UnityFloat4,
  47. }
  48. /// Unity-like floating-point quaternion for rotation in 3-dimensional space.
  49. #[derive(Clone, Copy, Parsable)]
  50. pub struct UnityQuaternion {
  51. /// Rotational orientation
  52. pub value: UnityFloat4,
  53. }