1 /* ScummVM - Graphic Adventure Engine 2 * 3 * ScummVM is the legal property of its developers, whose names 4 * are too numerous to list here. Please refer to the COPYRIGHT 5 * file distributed with this source distribution. 6 * 7 * This program is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU General Public License 9 * as published by the Free Software Foundation; either version 2 10 * of the License, or (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program; if not, write to the Free Software 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 * 21 */ 22 23 namespace Glk { 24 namespace JACL { 25 26 #ifdef GLK 27 extern strid_t open_glk_file(uint usage, uint mode, char *filename); 28 extern glui32 glk_get_bin_line_stream(strid_t file_stream, char *buffer, glui32 max_length); 29 extern glui32 parse_utf8(unsigned char *buf, glui32 buflen, glui32 *out, glui32 outlen); 30 extern void convert_to_utf8(glui32 *text, int len); 31 extern glui32 parse_utf8(unsigned char *buf, glui32 buflen, glui32 *out, glui32 outlen); 32 #else 33 extern void update_parameters(); 34 #endif 35 36 extern int bearing(double x1, double y1, double x2, double y2); 37 extern int distance(double x1, double y1, double x2, double y2); 38 extern int strcondition(); 39 extern int and_strcondition(); 40 extern int logic_test(int first); 41 extern int str_test(int first); 42 extern int first_available(int list_number); 43 extern int validate(const char *string); 44 extern int noun_resolve(struct word_type *scope_word, int finding_from, int noun_number); 45 extern int get_from_object(struct word_type *scope_word, int noun_number); 46 extern int is_direct_child_of_from(int child); 47 extern int is_child_of_from(int child); 48 extern int verify_from_object(int from_object); 49 extern int find_parent(int index); 50 extern int scope(int index, const char *expected, int restricted = 0); 51 extern int object_element_resolve(const char *textstring); 52 extern int execute(const char *funcname); 53 extern int object_resolve(const char *object_string); 54 extern int random_number(); 55 extern void log_error(const char *message, int console); 56 extern int parent_of(int parent_, int child, int restricted); 57 extern int grand_of(int child, int objs_only); 58 extern int check_light(int where); 59 extern int find_route(int fromRoom, int toRoom, int known); 60 extern int exit_function(int return_code); 61 extern int count_resolve(const char *textstring); 62 extern void jacl_set_window(winid_t new_window); 63 extern void create_cstring(const char *name, const char *value); 64 extern void create_string(const char *name, const char *value); 65 extern void create_integer(const char *name, int value); 66 extern void create_cinteger(const char *name, int value); 67 extern void scripting(); 68 extern void undoing(); 69 extern void walking_thru(); 70 extern void create_paths(char *full_path); 71 extern int get_key(); 72 extern char get_character(const char *message); 73 extern int get_yes_or_no(); 74 extern void get_string(char *string_buffer); 75 extern int get_number(int insist, int low, int high); 76 extern int save_interaction(); 77 extern int restore_interaction(); 78 extern void jacl_encrypt(char *string); 79 extern void jacl_decrypt(char *string); 80 //extern void log_message(const char *message, int console); 81 extern void set_them(int noun_number); 82 extern void preparse(); 83 extern void inspect(int object_num); 84 extern void add_all(struct word_type *scope_word, int noun_number); 85 extern void add_to_list(int noun_number, int resolved_object); 86 extern void call_functions(const char *base_name); 87 extern int build_object_list(struct word_type *scope_word, int noun_number); 88 extern long value_of(const char *value, int run_time = 0); 89 extern long attribute_resolve(const char *attribute); 90 extern long user_attribute_resolve(const char *name); 91 extern struct word_type *exact_match(struct word_type *pointer); 92 extern struct word_type *object_match(struct word_type *iterator, int noun_number); 93 extern struct integer_type *integer_resolve(const char *name); 94 extern struct integer_type *integer_resolve_indexed(const char *name, int index); 95 extern struct function_type *function_resolve(const char *name); 96 extern struct string_type *string_resolve(const char *name); 97 extern struct string_type *string_resolve_indexed(const char *name, int index); 98 extern struct string_type *cstring_resolve(const char *name); 99 extern struct string_type *cstring_resolve_indexed(const char *name, int index); 100 extern struct cinteger_type *cinteger_resolve(const char *name); 101 extern struct cinteger_type *cinteger_resolve_indexed(const char *name, int index); 102 extern int array_length_resolve(const char *textstring); 103 extern int legal_label_check(const char *word, int line, int type); 104 extern char *object_names(int object_index, char *names_buffer); 105 extern const char *arg_text_of(const char *string); 106 extern const char *arg_text_of_word(int wordnumber); 107 extern const char *var_text_of_word(int wordnumber); 108 extern const char *text_of(const char *string); 109 extern const char *text_of_word(int wordnumber); 110 extern const char *expand_function(const char *name); 111 extern int *container_resolve(const char *container_name); 112 extern int condition(); 113 extern int and_condition(); 114 extern void free_from(struct word_type *x); 115 extern void eachturn(); 116 extern int jacl_whitespace(char character); 117 extern int get_here(); 118 extern char *stripwhite(char *string); 119 extern void command_encapsulate(); 120 extern void encapsulate(); 121 extern void jacl_truncate(); 122 extern void parser(); 123 extern void diagnose(); 124 extern void look_around(); 125 extern char *macro_resolve(const char *textstring); 126 extern char *plain_output(int index, int capital); 127 extern char *sub_output(int index, int capital); 128 extern char *obj_output(int index, int capital); 129 extern char *that_output(int index, int capital); 130 extern char *sentence_output(int index, int capital); 131 extern char *isnt_output(int index, bool unused = false); 132 extern char *is_output(int index, bool unused = false); 133 extern char *it_output(int index, bool unused = false); 134 extern char *doesnt_output(int index, bool unused = false); 135 extern char *does_output(int index, bool unused = false); 136 extern char *list_output(int index, int capital); 137 extern char *long_output(int index); 138 extern void terminate(int code); 139 extern void set_arguments(const char *function_call); 140 extern void pop_stack(); 141 extern void push_stack(int32 file_pointer); 142 extern void pop_proxy(); 143 extern void push_proxy(); 144 extern void write_text(const char *string_buffer); 145 extern void status_line(); 146 extern void newline(); 147 extern bool save_game(strid_t save); 148 extern bool restore_game(strid_t save, bool warn = false); 149 extern void write_integer(strid_t stream, int x); 150 extern int read_integer(strid_t stream); 151 extern void write_long(strid_t stream, long x); 152 extern long read_long(strid_t stream); 153 extern void save_game_state(); 154 extern void restore_game_state(); 155 extern void add_cstring(const char *name, const char *value); 156 extern void clear_cstring(const char *name); 157 extern void add_cinteger(const char *name, int value); 158 extern void clear_cinteger(const char *name); 159 extern void restart_game(); 160 extern void read_gamefile(); 161 extern void new_position(double x1, double y1, double bearing, double velocity); 162 extern void build_grammar_table(struct word_type *pointer); 163 extern void unkvalerr(int line, int wordno); 164 extern void totalerrs(int errors); 165 extern void unkatterr(int line, int wordno); 166 extern void unkfunrun(const char *name); 167 extern void nofnamerr(int line); 168 extern void nongloberr(int line); 169 extern void unkkeyerr(int line, int wordno); 170 extern void maxatterr(int line, int wordno); 171 extern void unkattrun(int wordno); 172 extern void badptrrun(const char *name, int value); 173 extern void badplrrun(int value); 174 extern void badparrun(); 175 extern void notintrun(); 176 extern void noproprun(int unused = 0); 177 extern void noproperr(int line); 178 extern void noobjerr(int line); 179 extern void unkobjerr(int line, int wordno); 180 extern void unkobjrun(int wordno); 181 extern void unkdirrun(int wordno); 182 extern void unkscorun(const char *scope); 183 extern void unkstrrun(const char *variable); 184 extern void unkvarrun(const char *variable); 185 extern void outofmem(); 186 extern void set_defaults(); 187 extern void no_it(); 188 extern void more(const char *message); 189 extern int jpp(); 190 extern int process_file(const char *sourceFile1, char *sourceFile2); 191 extern char *strip_return(char *string); 192 extern const char *object_generator(const char *text, int state); 193 extern const char *verb_generator(const char *text, int state); 194 extern void add_word(const char *word); 195 extern void create_language_constants(); 196 extern int select_next(); 197 extern void jacl_sleep(unsigned int mseconds); 198 199 } // End of namespace JACL 200 } // End of namespace Glk 201