You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
1.8 KiB

5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
  1. #ifndef MINDUSTRY_H
  2. #define MINDUSTRY_H
  3. struct MindustryObject {};
  4. // builtin instructions
  5. void print(char* s);
  6. void printd(double s);
  7. void printflush(struct MindustryObject message);
  8. struct MindustryObject radar(struct MindustryObject obj, char* target1, char* target2,
  9. char* target3, char* sort, double index);
  10. double sensor(struct MindustryObject obj, char* prop);
  11. void enable(struct MindustryObject obj, double enabled);
  12. void shoot(struct MindustryObject obj, double x, double y, double shoot);
  13. struct MindustryObject get_link(double index);
  14. double read(struct MindustryObject cell, double index);
  15. void write(double val, struct MindustryObject cell, double index);
  16. void drawclear(double r, double g, double b);
  17. void drawcolor(double r, double g, double b);
  18. void drawstroke(double width);
  19. void drawline(double x1, double y1, double x2, double y2);
  20. void drawrect(double x, double y, double w, double h);
  21. void drawlinerect(double x, double y, double w, double h);
  22. void drawpoly(double x, double y, double sides, double radius, double rotation);
  23. void drawlinepoly(double x, double y, double sides, double radius, double rotation);
  24. void drawtriangle(double x1, double y1, double x2, double y2, double x3, double y3);
  25. void drawflush(struct MindustryObject display);
  26. void end();
  27. // builtin binary operators
  28. double strictEqual(double x, double y);
  29. double idiv(double x, double y);
  30. double pow(double x, double y);
  31. double land(double x, double y);
  32. double max(double x, double y);
  33. double min(double x, double y);
  34. double angle(double x, double y);
  35. double len(double x, double y);
  36. double noise(double x, double y);
  37. // builtin unary operators
  38. double abs(double x);
  39. double log(double x);
  40. double log10(double x);
  41. double sin(double x);
  42. double cos(double x);
  43. double tan(double x);
  44. double floor(double x);
  45. double ceil(double x);
  46. double sqrt(double x);
  47. double rand(double x);
  48. #endif