pattern.h 758 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #ifndef PATTERN_H
  2. #define PATTERN_H
  3. #include "struct.h"
  4. /**
  5. * Read a buffer to convert into an dynamically pattern
  6. * Structure of the pattern data:
  7. * <pre>
  8. * XX <=> Pattern length (uint_8)
  9. * AABBBBCCCC
  10. * AABBBBCCCC
  11. * AABBBBCCCC
  12. * ...
  13. * </pre>
  14. * Legend
  15. * <pre>
  16. * AA <=> side (uint_8)
  17. * BBBB <=> distance(uint_16)
  18. * CCCC <=> wall_length(uint_16)
  19. * </pre>
  20. * @param data Data to read
  21. * @return A brand new pattern
  22. */
  23. Pattern* readPattern(Pattern* pattern, unsigned char* data);
  24. /**
  25. * Add the whole patter to the current game.
  26. * @param data data
  27. * @param offset Offsets the sides to rotate the pattern
  28. */
  29. void addPattern(Game_Data* data, Pattern* pattern, unsigned char offset);
  30. Pattern* freePattern(Pattern* pattern);
  31. #endif