]> git.lizzy.rs Git - nothing.git/blobdiff - src/game/level/goals.h
(#639) Make rigid bodies interact with platforms
[nothing.git] / src / game / level / goals.h
index 2587804cde572bd7f1aba797d7bc23f2b7ba99a8..98855bf058de935bd68f130e4ba04f0a572a57aa 100644 (file)
@@ -6,25 +6,29 @@
 #include "game/camera.h"
 #include "game/level/player.h"
 #include "game/sound_samples.h"
+#include "ebisp/expr.h"
 
-typedef struct goals_t goals_t;
+typedef struct Goals Goals;
+typedef struct LineStream LineStream;
 
-goals_t *create_goals_from_stream(FILE *stream);
-void destroy_goals(goals_t *goals);
+Goals *create_goals_from_line_stream(LineStream *line_stream);
+void destroy_goals(Goals *goals);
 
-rect_t goals_hitbox(const goals_t *goals);
+Rect goals_hitbox(const Goals *goals);
 
-int goals_render(const goals_t *goals,
-                 camera_t *camera);
-int goals_sound(goals_t *goals,
-                sound_samples_t *sound_samples);
-void goals_update(goals_t *goals,
+int goals_render(const Goals *goals,
+                 Camera *camera);
+int goals_sound(Goals *goals,
+                Sound_samples *sound_samples);
+void goals_update(Goals *goals,
                   float delta_time);
-void goals_hide(goals_t *goals,
-                rect_t player_hitbox);
-void goals_checkpoint(const goals_t *goals,
-                      player_t *player);
-void goals_cue(goals_t *goals,
-               const camera_t *camera);
+void goals_hide_from_player(Goals *goals,
+                            Rect player_hitbox);
+void goals_checkpoint(const Goals *goals,
+                      Player *player);
+void goals_cue(Goals *goals,
+               const Camera *camera);
+
+struct EvalResult goals_send(Goals *goals, Gc *gc, struct Scope *scope, struct Expr path);
 
 #endif  // GOALS_H_