]> git.lizzy.rs Git - nothing.git/blob - src/game/level/script.h
(#858) Implement script_source_code
[nothing.git] / src / game / level / script.h
1 #ifndef SCRIPT_H_
2 #define SCRIPT_H_
3
4 #include <stdbool.h>
5
6 typedef struct Script Script;
7 typedef struct LineStream LineStream;
8 typedef struct Broadcast Broadcast;
9
10 Script *create_script_from_string(Broadcast *broadcast, const char *source);
11 Script *create_script_from_line_stream(LineStream *line_stream,
12                                        Broadcast *broadcast);
13 void destroy_script(Script *script);
14
15 // TODO(#470): script_eval accepting string instead of expr is very error prone
16 int script_eval(Script *script, const char *source_code);
17
18 bool script_has_scope_value(const Script *script, const char *name);
19
20 const char *script_source_code(const Script *script);
21
22 #endif  // SCRIPT_H_