diff --git a/include/builtins.h b/include/builtins.h index 2af3794..fca147c 100644 --- a/include/builtins.h +++ b/include/builtins.h @@ -1,6 +1,7 @@ #ifndef MINDUSTRY_H #define MINDUSTRY_H struct MindustryObject {}; + // builtin instructions void print(char* s); void printd(double s); @@ -10,14 +11,17 @@ struct MindustryObject radar(struct MindustryObject obj, char* target1, char* ta char* target3, char* sort, double index); double sensor(struct MindustryObject obj, char* prop); void enable(struct MindustryObject obj, double enabled); +void configure(struct MindustryObject obj, char* configure); +void setcolor(struct MindustryObject obj, double r, double g, double b); void shoot(struct MindustryObject obj, double x, double y, double shoot); +void shootp(struct MindustryObject obj, double unit, double shoot); struct MindustryObject get_link(double index); double read(struct MindustryObject cell, double index); void write(double val, struct MindustryObject cell, double index); void drawclear(double r, double g, double b); -void drawcolor(double r, double g, double b); +void drawcolor(double r, double g, double b, double a); void drawstroke(double width); void drawline(double x1, double y1, double x2, double y2); void drawrect(double x, double y, double w, double h); @@ -25,20 +29,42 @@ void drawlinerect(double x, double y, double w, double h); void drawpoly(double x, double y, double sides, double radius, double rotation); void drawlinepoly(double x, double y, double sides, double radius, double rotation); void drawtriangle(double x1, double y1, double x2, double y2, double x3, double y3); +void drawimage(double x, double y, char* image, double size, double rotation); void drawflush(struct MindustryObject display); void end(); +// unit commands (not complete; don't know how to return multiple values) +void ubind(char* type); +void unit_move(double x, double y); +void unit_idle(); +void unit_stop(); +void unit_approach(double x, double y, double radius); +void unit_boost(double enable); +void unit_pathfind(); +void unit_target(double x, double y, double shoot); +void unit_targetp(double unit, double shoot); +void unit_item_drop(struct MindustryObject obj, double amount); +void unit_item_take(struct MindustryObject obj, char* item, double amount); +void unit_pay_drop(); +void unit_pay_take(double takeUnits); +void unit_mine(double x, double y); +void unit_flag(double value); +void unit_build(double x, double y, char* block, double rotation, char* configure); +double unit_within(double x, double y, double radius); +MindustryObject unit_radar(char* target1, char* target2, char* target3, char* sort, double order); + // builtin binary operators -double strictEqual(double x, double y); -double idiv(double x, double y); double pow(double x, double y); -double land(double x, double y); double max(double x, double y); double min(double x, double y); double angle(double x, double y); double len(double x, double y); +double land(double x, double y); +double idiv(double x, double y); +double strictEqual(void* x, void* y); double noise(double x, double y); + // builtin unary operators double abs(double x); double log(double x); diff --git a/include/builtins_new.h b/include/builtins_new.h deleted file mode 100644 index fca147c..0000000 --- a/include/builtins_new.h +++ /dev/null @@ -1,79 +0,0 @@ -#ifndef MINDUSTRY_H -#define MINDUSTRY_H -struct MindustryObject {}; - -// builtin instructions -void print(char* s); -void printd(double s); -void printflush(struct MindustryObject message); - -struct MindustryObject radar(struct MindustryObject obj, char* target1, char* target2, - char* target3, char* sort, double index); -double sensor(struct MindustryObject obj, char* prop); -void enable(struct MindustryObject obj, double enabled); -void configure(struct MindustryObject obj, char* configure); -void setcolor(struct MindustryObject obj, double r, double g, double b); -void shoot(struct MindustryObject obj, double x, double y, double shoot); -void shootp(struct MindustryObject obj, double unit, double shoot); - -struct MindustryObject get_link(double index); -double read(struct MindustryObject cell, double index); -void write(double val, struct MindustryObject cell, double index); - -void drawclear(double r, double g, double b); -void drawcolor(double r, double g, double b, double a); -void drawstroke(double width); -void drawline(double x1, double y1, double x2, double y2); -void drawrect(double x, double y, double w, double h); -void drawlinerect(double x, double y, double w, double h); -void drawpoly(double x, double y, double sides, double radius, double rotation); -void drawlinepoly(double x, double y, double sides, double radius, double rotation); -void drawtriangle(double x1, double y1, double x2, double y2, double x3, double y3); -void drawimage(double x, double y, char* image, double size, double rotation); -void drawflush(struct MindustryObject display); - -void end(); - -// unit commands (not complete; don't know how to return multiple values) -void ubind(char* type); -void unit_move(double x, double y); -void unit_idle(); -void unit_stop(); -void unit_approach(double x, double y, double radius); -void unit_boost(double enable); -void unit_pathfind(); -void unit_target(double x, double y, double shoot); -void unit_targetp(double unit, double shoot); -void unit_item_drop(struct MindustryObject obj, double amount); -void unit_item_take(struct MindustryObject obj, char* item, double amount); -void unit_pay_drop(); -void unit_pay_take(double takeUnits); -void unit_mine(double x, double y); -void unit_flag(double value); -void unit_build(double x, double y, char* block, double rotation, char* configure); -double unit_within(double x, double y, double radius); -MindustryObject unit_radar(char* target1, char* target2, char* target3, char* sort, double order); - -// builtin binary operators -double pow(double x, double y); -double max(double x, double y); -double min(double x, double y); -double angle(double x, double y); -double len(double x, double y); -double land(double x, double y); -double idiv(double x, double y); -double strictEqual(void* x, void* y); -double noise(double x, double y); - -// builtin unary operators -double abs(double x); -double log(double x); -double log10(double x); -double sin(double x); -double cos(double x); -double tan(double x); -double floor(double x); -double ceil(double x); -double sqrt(double x); -double rand(double x); -#endif