gml.js 59 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885
  1. /*
  2. Language: GML
  3. Author: Meseta <meseta@gmail.com>
  4. Description: Game Maker Language for GameMaker Studio 2
  5. Website: https://docs2.yoyogames.com
  6. Category: scripting
  7. */
  8. function gml(hljs) {
  9. const GML_KEYWORDS = {
  10. keyword: 'begin end if then else while do for break continue with until ' +
  11. 'repeat exit and or xor not return mod div switch case default var ' +
  12. 'globalvar enum function constructor delete #macro #region #endregion',
  13. built_in: 'is_real is_string is_array is_undefined is_int32 is_int64 is_ptr ' +
  14. 'is_vec3 is_vec4 is_matrix is_bool is_method is_struct is_infinity is_nan ' +
  15. 'is_numeric typeof variable_global_exists variable_global_get variable_global_set ' +
  16. 'variable_instance_exists variable_instance_get variable_instance_set ' +
  17. 'variable_instance_get_names variable_struct_exists variable_struct_get ' +
  18. 'variable_struct_get_names variable_struct_names_count variable_struct_remove ' +
  19. 'variable_struct_set array_delete array_insert array_length array_length_1d ' +
  20. 'array_length_2d array_height_2d array_equals array_create ' +
  21. 'array_copy array_pop array_push array_resize array_sort ' +
  22. 'random random_range irandom irandom_range random_set_seed random_get_seed ' +
  23. 'randomize randomise choose abs round floor ceil sign frac sqrt sqr ' +
  24. 'exp ln log2 log10 sin cos tan arcsin arccos arctan arctan2 dsin dcos ' +
  25. 'dtan darcsin darccos darctan darctan2 degtorad radtodeg power logn ' +
  26. 'min max mean median clamp lerp dot_product dot_product_3d ' +
  27. 'dot_product_normalised dot_product_3d_normalised ' +
  28. 'dot_product_normalized dot_product_3d_normalized math_set_epsilon ' +
  29. 'math_get_epsilon angle_difference point_distance_3d point_distance ' +
  30. 'point_direction lengthdir_x lengthdir_y real string int64 ptr ' +
  31. 'string_format chr ansi_char ord string_length string_byte_length ' +
  32. 'string_pos string_copy string_char_at string_ord_at string_byte_at ' +
  33. 'string_set_byte_at string_delete string_insert string_lower ' +
  34. 'string_upper string_repeat string_letters string_digits ' +
  35. 'string_lettersdigits string_replace string_replace_all string_count ' +
  36. 'string_hash_to_newline clipboard_has_text clipboard_set_text ' +
  37. 'clipboard_get_text date_current_datetime date_create_datetime ' +
  38. 'date_valid_datetime date_inc_year date_inc_month date_inc_week ' +
  39. 'date_inc_day date_inc_hour date_inc_minute date_inc_second ' +
  40. 'date_get_year date_get_month date_get_week date_get_day ' +
  41. 'date_get_hour date_get_minute date_get_second date_get_weekday ' +
  42. 'date_get_day_of_year date_get_hour_of_year date_get_minute_of_year ' +
  43. 'date_get_second_of_year date_year_span date_month_span ' +
  44. 'date_week_span date_day_span date_hour_span date_minute_span ' +
  45. 'date_second_span date_compare_datetime date_compare_date ' +
  46. 'date_compare_time date_date_of date_time_of date_datetime_string ' +
  47. 'date_date_string date_time_string date_days_in_month ' +
  48. 'date_days_in_year date_leap_year date_is_today date_set_timezone ' +
  49. 'date_get_timezone game_set_speed game_get_speed motion_set ' +
  50. 'motion_add place_free place_empty place_meeting place_snapped ' +
  51. 'move_random move_snap move_towards_point move_contact_solid ' +
  52. 'move_contact_all move_outside_solid move_outside_all ' +
  53. 'move_bounce_solid move_bounce_all move_wrap distance_to_point ' +
  54. 'distance_to_object position_empty position_meeting path_start ' +
  55. 'path_end mp_linear_step mp_potential_step mp_linear_step_object ' +
  56. 'mp_potential_step_object mp_potential_settings mp_linear_path ' +
  57. 'mp_potential_path mp_linear_path_object mp_potential_path_object ' +
  58. 'mp_grid_create mp_grid_destroy mp_grid_clear_all mp_grid_clear_cell ' +
  59. 'mp_grid_clear_rectangle mp_grid_add_cell mp_grid_get_cell ' +
  60. 'mp_grid_add_rectangle mp_grid_add_instances mp_grid_path ' +
  61. 'mp_grid_draw mp_grid_to_ds_grid collision_point collision_rectangle ' +
  62. 'collision_circle collision_ellipse collision_line ' +
  63. 'collision_point_list collision_rectangle_list collision_circle_list ' +
  64. 'collision_ellipse_list collision_line_list instance_position_list ' +
  65. 'instance_place_list point_in_rectangle ' +
  66. 'point_in_triangle point_in_circle rectangle_in_rectangle ' +
  67. 'rectangle_in_triangle rectangle_in_circle instance_find ' +
  68. 'instance_exists instance_number instance_position instance_nearest ' +
  69. 'instance_furthest instance_place instance_create_depth ' +
  70. 'instance_create_layer instance_copy instance_change instance_destroy ' +
  71. 'position_destroy position_change instance_id_get ' +
  72. 'instance_deactivate_all instance_deactivate_object ' +
  73. 'instance_deactivate_region instance_activate_all ' +
  74. 'instance_activate_object instance_activate_region room_goto ' +
  75. 'room_goto_previous room_goto_next room_previous room_next ' +
  76. 'room_restart game_end game_restart game_load game_save ' +
  77. 'game_save_buffer game_load_buffer event_perform event_user ' +
  78. 'event_perform_object event_inherited show_debug_message ' +
  79. 'show_debug_overlay debug_event debug_get_callstack alarm_get ' +
  80. 'alarm_set font_texture_page_size keyboard_set_map keyboard_get_map ' +
  81. 'keyboard_unset_map keyboard_check keyboard_check_pressed ' +
  82. 'keyboard_check_released keyboard_check_direct keyboard_get_numlock ' +
  83. 'keyboard_set_numlock keyboard_key_press keyboard_key_release ' +
  84. 'keyboard_clear io_clear mouse_check_button ' +
  85. 'mouse_check_button_pressed mouse_check_button_released ' +
  86. 'mouse_wheel_up mouse_wheel_down mouse_clear draw_self draw_sprite ' +
  87. 'draw_sprite_pos draw_sprite_ext draw_sprite_stretched ' +
  88. 'draw_sprite_stretched_ext draw_sprite_tiled draw_sprite_tiled_ext ' +
  89. 'draw_sprite_part draw_sprite_part_ext draw_sprite_general draw_clear ' +
  90. 'draw_clear_alpha draw_point draw_line draw_line_width draw_rectangle ' +
  91. 'draw_roundrect draw_roundrect_ext draw_triangle draw_circle ' +
  92. 'draw_ellipse draw_set_circle_precision draw_arrow draw_button ' +
  93. 'draw_path draw_healthbar draw_getpixel draw_getpixel_ext ' +
  94. 'draw_set_colour draw_set_color draw_set_alpha draw_get_colour ' +
  95. 'draw_get_color draw_get_alpha merge_colour make_colour_rgb ' +
  96. 'make_colour_hsv colour_get_red colour_get_green colour_get_blue ' +
  97. 'colour_get_hue colour_get_saturation colour_get_value merge_color ' +
  98. 'make_color_rgb make_color_hsv color_get_red color_get_green ' +
  99. 'color_get_blue color_get_hue color_get_saturation color_get_value ' +
  100. 'merge_color screen_save screen_save_part draw_set_font ' +
  101. 'draw_set_halign draw_set_valign draw_text draw_text_ext string_width ' +
  102. 'string_height string_width_ext string_height_ext ' +
  103. 'draw_text_transformed draw_text_ext_transformed draw_text_colour ' +
  104. 'draw_text_ext_colour draw_text_transformed_colour ' +
  105. 'draw_text_ext_transformed_colour draw_text_color draw_text_ext_color ' +
  106. 'draw_text_transformed_color draw_text_ext_transformed_color ' +
  107. 'draw_point_colour draw_line_colour draw_line_width_colour ' +
  108. 'draw_rectangle_colour draw_roundrect_colour ' +
  109. 'draw_roundrect_colour_ext draw_triangle_colour draw_circle_colour ' +
  110. 'draw_ellipse_colour draw_point_color draw_line_color ' +
  111. 'draw_line_width_color draw_rectangle_color draw_roundrect_color ' +
  112. 'draw_roundrect_color_ext draw_triangle_color draw_circle_color ' +
  113. 'draw_ellipse_color draw_primitive_begin draw_vertex ' +
  114. 'draw_vertex_colour draw_vertex_color draw_primitive_end ' +
  115. 'sprite_get_uvs font_get_uvs sprite_get_texture font_get_texture ' +
  116. 'texture_get_width texture_get_height texture_get_uvs ' +
  117. 'draw_primitive_begin_texture draw_vertex_texture ' +
  118. 'draw_vertex_texture_colour draw_vertex_texture_color ' +
  119. 'texture_global_scale surface_create surface_create_ext ' +
  120. 'surface_resize surface_free surface_exists surface_get_width ' +
  121. 'surface_get_height surface_get_texture surface_set_target ' +
  122. 'surface_set_target_ext surface_reset_target surface_depth_disable ' +
  123. 'surface_get_depth_disable draw_surface draw_surface_stretched ' +
  124. 'draw_surface_tiled draw_surface_part draw_surface_ext ' +
  125. 'draw_surface_stretched_ext draw_surface_tiled_ext ' +
  126. 'draw_surface_part_ext draw_surface_general surface_getpixel ' +
  127. 'surface_getpixel_ext surface_save surface_save_part surface_copy ' +
  128. 'surface_copy_part application_surface_draw_enable ' +
  129. 'application_get_position application_surface_enable ' +
  130. 'application_surface_is_enabled display_get_width display_get_height ' +
  131. 'display_get_orientation display_get_gui_width display_get_gui_height ' +
  132. 'display_reset display_mouse_get_x display_mouse_get_y ' +
  133. 'display_mouse_set display_set_ui_visibility ' +
  134. 'window_set_fullscreen window_get_fullscreen ' +
  135. 'window_set_caption window_set_min_width window_set_max_width ' +
  136. 'window_set_min_height window_set_max_height window_get_visible_rects ' +
  137. 'window_get_caption window_set_cursor window_get_cursor ' +
  138. 'window_set_colour window_get_colour window_set_color ' +
  139. 'window_get_color window_set_position window_set_size ' +
  140. 'window_set_rectangle window_center window_get_x window_get_y ' +
  141. 'window_get_width window_get_height window_mouse_get_x ' +
  142. 'window_mouse_get_y window_mouse_set window_view_mouse_get_x ' +
  143. 'window_view_mouse_get_y window_views_mouse_get_x ' +
  144. 'window_views_mouse_get_y audio_listener_position ' +
  145. 'audio_listener_velocity audio_listener_orientation ' +
  146. 'audio_emitter_position audio_emitter_create audio_emitter_free ' +
  147. 'audio_emitter_exists audio_emitter_pitch audio_emitter_velocity ' +
  148. 'audio_emitter_falloff audio_emitter_gain audio_play_sound ' +
  149. 'audio_play_sound_on audio_play_sound_at audio_stop_sound ' +
  150. 'audio_resume_music audio_music_is_playing audio_resume_sound ' +
  151. 'audio_pause_sound audio_pause_music audio_channel_num ' +
  152. 'audio_sound_length audio_get_type audio_falloff_set_model ' +
  153. 'audio_play_music audio_stop_music audio_master_gain audio_music_gain ' +
  154. 'audio_sound_gain audio_sound_pitch audio_stop_all audio_resume_all ' +
  155. 'audio_pause_all audio_is_playing audio_is_paused audio_exists ' +
  156. 'audio_sound_set_track_position audio_sound_get_track_position ' +
  157. 'audio_emitter_get_gain audio_emitter_get_pitch audio_emitter_get_x ' +
  158. 'audio_emitter_get_y audio_emitter_get_z audio_emitter_get_vx ' +
  159. 'audio_emitter_get_vy audio_emitter_get_vz ' +
  160. 'audio_listener_set_position audio_listener_set_velocity ' +
  161. 'audio_listener_set_orientation audio_listener_get_data ' +
  162. 'audio_set_master_gain audio_get_master_gain audio_sound_get_gain ' +
  163. 'audio_sound_get_pitch audio_get_name audio_sound_set_track_position ' +
  164. 'audio_sound_get_track_position audio_create_stream ' +
  165. 'audio_destroy_stream audio_create_sync_group ' +
  166. 'audio_destroy_sync_group audio_play_in_sync_group ' +
  167. 'audio_start_sync_group audio_stop_sync_group audio_pause_sync_group ' +
  168. 'audio_resume_sync_group audio_sync_group_get_track_pos ' +
  169. 'audio_sync_group_debug audio_sync_group_is_playing audio_debug ' +
  170. 'audio_group_load audio_group_unload audio_group_is_loaded ' +
  171. 'audio_group_load_progress audio_group_name audio_group_stop_all ' +
  172. 'audio_group_set_gain audio_create_buffer_sound ' +
  173. 'audio_free_buffer_sound audio_create_play_queue ' +
  174. 'audio_free_play_queue audio_queue_sound audio_get_recorder_count ' +
  175. 'audio_get_recorder_info audio_start_recording audio_stop_recording ' +
  176. 'audio_sound_get_listener_mask audio_emitter_get_listener_mask ' +
  177. 'audio_get_listener_mask audio_sound_set_listener_mask ' +
  178. 'audio_emitter_set_listener_mask audio_set_listener_mask ' +
  179. 'audio_get_listener_count audio_get_listener_info audio_system ' +
  180. 'show_message show_message_async clickable_add clickable_add_ext ' +
  181. 'clickable_change clickable_change_ext clickable_delete ' +
  182. 'clickable_exists clickable_set_style show_question ' +
  183. 'show_question_async get_integer get_string get_integer_async ' +
  184. 'get_string_async get_login_async get_open_filename get_save_filename ' +
  185. 'get_open_filename_ext get_save_filename_ext show_error ' +
  186. 'highscore_clear highscore_add highscore_value highscore_name ' +
  187. 'draw_highscore sprite_exists sprite_get_name sprite_get_number ' +
  188. 'sprite_get_width sprite_get_height sprite_get_xoffset ' +
  189. 'sprite_get_yoffset sprite_get_bbox_left sprite_get_bbox_right ' +
  190. 'sprite_get_bbox_top sprite_get_bbox_bottom sprite_save ' +
  191. 'sprite_save_strip sprite_set_cache_size sprite_set_cache_size_ext ' +
  192. 'sprite_get_tpe sprite_prefetch sprite_prefetch_multi sprite_flush ' +
  193. 'sprite_flush_multi sprite_set_speed sprite_get_speed_type ' +
  194. 'sprite_get_speed font_exists font_get_name font_get_fontname ' +
  195. 'font_get_bold font_get_italic font_get_first font_get_last ' +
  196. 'font_get_size font_set_cache_size path_exists path_get_name ' +
  197. 'path_get_length path_get_time path_get_kind path_get_closed ' +
  198. 'path_get_precision path_get_number path_get_point_x path_get_point_y ' +
  199. 'path_get_point_speed path_get_x path_get_y path_get_speed ' +
  200. 'script_exists script_get_name timeline_add timeline_delete ' +
  201. 'timeline_clear timeline_exists timeline_get_name ' +
  202. 'timeline_moment_clear timeline_moment_add_script timeline_size ' +
  203. 'timeline_max_moment object_exists object_get_name object_get_sprite ' +
  204. 'object_get_solid object_get_visible object_get_persistent ' +
  205. 'object_get_mask object_get_parent object_get_physics ' +
  206. 'object_is_ancestor room_exists room_get_name sprite_set_offset ' +
  207. 'sprite_duplicate sprite_assign sprite_merge sprite_add ' +
  208. 'sprite_replace sprite_create_from_surface sprite_add_from_surface ' +
  209. 'sprite_delete sprite_set_alpha_from_sprite sprite_collision_mask ' +
  210. 'font_add_enable_aa font_add_get_enable_aa font_add font_add_sprite ' +
  211. 'font_add_sprite_ext font_replace font_replace_sprite ' +
  212. 'font_replace_sprite_ext font_delete path_set_kind path_set_closed ' +
  213. 'path_set_precision path_add path_assign path_duplicate path_append ' +
  214. 'path_delete path_add_point path_insert_point path_change_point ' +
  215. 'path_delete_point path_clear_points path_reverse path_mirror ' +
  216. 'path_flip path_rotate path_rescale path_shift script_execute ' +
  217. 'object_set_sprite object_set_solid object_set_visible ' +
  218. 'object_set_persistent object_set_mask room_set_width room_set_height ' +
  219. 'room_set_persistent room_set_background_colour ' +
  220. 'room_set_background_color room_set_view room_set_viewport ' +
  221. 'room_get_viewport room_set_view_enabled room_add room_duplicate ' +
  222. 'room_assign room_instance_add room_instance_clear room_get_camera ' +
  223. 'room_set_camera asset_get_index asset_get_type ' +
  224. 'file_text_open_from_string file_text_open_read file_text_open_write ' +
  225. 'file_text_open_append file_text_close file_text_write_string ' +
  226. 'file_text_write_real file_text_writeln file_text_read_string ' +
  227. 'file_text_read_real file_text_readln file_text_eof file_text_eoln ' +
  228. 'file_exists file_delete file_rename file_copy directory_exists ' +
  229. 'directory_create directory_destroy file_find_first file_find_next ' +
  230. 'file_find_close file_attributes filename_name filename_path ' +
  231. 'filename_dir filename_drive filename_ext filename_change_ext ' +
  232. 'file_bin_open file_bin_rewrite file_bin_close file_bin_position ' +
  233. 'file_bin_size file_bin_seek file_bin_write_byte file_bin_read_byte ' +
  234. 'parameter_count parameter_string environment_get_variable ' +
  235. 'ini_open_from_string ini_open ini_close ini_read_string ' +
  236. 'ini_read_real ini_write_string ini_write_real ini_key_exists ' +
  237. 'ini_section_exists ini_key_delete ini_section_delete ' +
  238. 'ds_set_precision ds_exists ds_stack_create ds_stack_destroy ' +
  239. 'ds_stack_clear ds_stack_copy ds_stack_size ds_stack_empty ' +
  240. 'ds_stack_push ds_stack_pop ds_stack_top ds_stack_write ds_stack_read ' +
  241. 'ds_queue_create ds_queue_destroy ds_queue_clear ds_queue_copy ' +
  242. 'ds_queue_size ds_queue_empty ds_queue_enqueue ds_queue_dequeue ' +
  243. 'ds_queue_head ds_queue_tail ds_queue_write ds_queue_read ' +
  244. 'ds_list_create ds_list_destroy ds_list_clear ds_list_copy ' +
  245. 'ds_list_size ds_list_empty ds_list_add ds_list_insert ' +
  246. 'ds_list_replace ds_list_delete ds_list_find_index ds_list_find_value ' +
  247. 'ds_list_mark_as_list ds_list_mark_as_map ds_list_sort ' +
  248. 'ds_list_shuffle ds_list_write ds_list_read ds_list_set ds_map_create ' +
  249. 'ds_map_destroy ds_map_clear ds_map_copy ds_map_size ds_map_empty ' +
  250. 'ds_map_add ds_map_add_list ds_map_add_map ds_map_replace ' +
  251. 'ds_map_replace_map ds_map_replace_list ds_map_delete ds_map_exists ' +
  252. 'ds_map_find_value ds_map_find_previous ds_map_find_next ' +
  253. 'ds_map_find_first ds_map_find_last ds_map_write ds_map_read ' +
  254. 'ds_map_secure_save ds_map_secure_load ds_map_secure_load_buffer ' +
  255. 'ds_map_secure_save_buffer ds_map_set ds_priority_create ' +
  256. 'ds_priority_destroy ds_priority_clear ds_priority_copy ' +
  257. 'ds_priority_size ds_priority_empty ds_priority_add ' +
  258. 'ds_priority_change_priority ds_priority_find_priority ' +
  259. 'ds_priority_delete_value ds_priority_delete_min ds_priority_find_min ' +
  260. 'ds_priority_delete_max ds_priority_find_max ds_priority_write ' +
  261. 'ds_priority_read ds_grid_create ds_grid_destroy ds_grid_copy ' +
  262. 'ds_grid_resize ds_grid_width ds_grid_height ds_grid_clear ' +
  263. 'ds_grid_set ds_grid_add ds_grid_multiply ds_grid_set_region ' +
  264. 'ds_grid_add_region ds_grid_multiply_region ds_grid_set_disk ' +
  265. 'ds_grid_add_disk ds_grid_multiply_disk ds_grid_set_grid_region ' +
  266. 'ds_grid_add_grid_region ds_grid_multiply_grid_region ds_grid_get ' +
  267. 'ds_grid_get_sum ds_grid_get_max ds_grid_get_min ds_grid_get_mean ' +
  268. 'ds_grid_get_disk_sum ds_grid_get_disk_min ds_grid_get_disk_max ' +
  269. 'ds_grid_get_disk_mean ds_grid_value_exists ds_grid_value_x ' +
  270. 'ds_grid_value_y ds_grid_value_disk_exists ds_grid_value_disk_x ' +
  271. 'ds_grid_value_disk_y ds_grid_shuffle ds_grid_write ds_grid_read ' +
  272. 'ds_grid_sort ds_grid_set ds_grid_get effect_create_below ' +
  273. 'effect_create_above effect_clear part_type_create part_type_destroy ' +
  274. 'part_type_exists part_type_clear part_type_shape part_type_sprite ' +
  275. 'part_type_size part_type_scale part_type_orientation part_type_life ' +
  276. 'part_type_step part_type_death part_type_speed part_type_direction ' +
  277. 'part_type_gravity part_type_colour1 part_type_colour2 ' +
  278. 'part_type_colour3 part_type_colour_mix part_type_colour_rgb ' +
  279. 'part_type_colour_hsv part_type_color1 part_type_color2 ' +
  280. 'part_type_color3 part_type_color_mix part_type_color_rgb ' +
  281. 'part_type_color_hsv part_type_alpha1 part_type_alpha2 ' +
  282. 'part_type_alpha3 part_type_blend part_system_create ' +
  283. 'part_system_create_layer part_system_destroy part_system_exists ' +
  284. 'part_system_clear part_system_draw_order part_system_depth ' +
  285. 'part_system_position part_system_automatic_update ' +
  286. 'part_system_automatic_draw part_system_update part_system_drawit ' +
  287. 'part_system_get_layer part_system_layer part_particles_create ' +
  288. 'part_particles_create_colour part_particles_create_color ' +
  289. 'part_particles_clear part_particles_count part_emitter_create ' +
  290. 'part_emitter_destroy part_emitter_destroy_all part_emitter_exists ' +
  291. 'part_emitter_clear part_emitter_region part_emitter_burst ' +
  292. 'part_emitter_stream external_call external_define external_free ' +
  293. 'window_handle window_device matrix_get matrix_set ' +
  294. 'matrix_build_identity matrix_build matrix_build_lookat ' +
  295. 'matrix_build_projection_ortho matrix_build_projection_perspective ' +
  296. 'matrix_build_projection_perspective_fov matrix_multiply ' +
  297. 'matrix_transform_vertex matrix_stack_push matrix_stack_pop ' +
  298. 'matrix_stack_multiply matrix_stack_set matrix_stack_clear ' +
  299. 'matrix_stack_top matrix_stack_is_empty browser_input_capture ' +
  300. 'os_get_config os_get_info os_get_language os_get_region ' +
  301. 'os_lock_orientation display_get_dpi_x display_get_dpi_y ' +
  302. 'display_set_gui_size display_set_gui_maximise ' +
  303. 'display_set_gui_maximize device_mouse_dbclick_enable ' +
  304. 'display_set_timing_method display_get_timing_method ' +
  305. 'display_set_sleep_margin display_get_sleep_margin virtual_key_add ' +
  306. 'virtual_key_hide virtual_key_delete virtual_key_show ' +
  307. 'draw_enable_drawevent draw_enable_swf_aa draw_set_swf_aa_level ' +
  308. 'draw_get_swf_aa_level draw_texture_flush draw_flush ' +
  309. 'gpu_set_blendenable gpu_set_ztestenable gpu_set_zfunc ' +
  310. 'gpu_set_zwriteenable gpu_set_lightingenable gpu_set_fog ' +
  311. 'gpu_set_cullmode gpu_set_blendmode gpu_set_blendmode_ext ' +
  312. 'gpu_set_blendmode_ext_sepalpha gpu_set_colorwriteenable ' +
  313. 'gpu_set_colourwriteenable gpu_set_alphatestenable ' +
  314. 'gpu_set_alphatestref gpu_set_alphatestfunc gpu_set_texfilter ' +
  315. 'gpu_set_texfilter_ext gpu_set_texrepeat gpu_set_texrepeat_ext ' +
  316. 'gpu_set_tex_filter gpu_set_tex_filter_ext gpu_set_tex_repeat ' +
  317. 'gpu_set_tex_repeat_ext gpu_set_tex_mip_filter ' +
  318. 'gpu_set_tex_mip_filter_ext gpu_set_tex_mip_bias ' +
  319. 'gpu_set_tex_mip_bias_ext gpu_set_tex_min_mip gpu_set_tex_min_mip_ext ' +
  320. 'gpu_set_tex_max_mip gpu_set_tex_max_mip_ext gpu_set_tex_max_aniso ' +
  321. 'gpu_set_tex_max_aniso_ext gpu_set_tex_mip_enable ' +
  322. 'gpu_set_tex_mip_enable_ext gpu_get_blendenable gpu_get_ztestenable ' +
  323. 'gpu_get_zfunc gpu_get_zwriteenable gpu_get_lightingenable ' +
  324. 'gpu_get_fog gpu_get_cullmode gpu_get_blendmode gpu_get_blendmode_ext ' +
  325. 'gpu_get_blendmode_ext_sepalpha gpu_get_blendmode_src ' +
  326. 'gpu_get_blendmode_dest gpu_get_blendmode_srcalpha ' +
  327. 'gpu_get_blendmode_destalpha gpu_get_colorwriteenable ' +
  328. 'gpu_get_colourwriteenable gpu_get_alphatestenable ' +
  329. 'gpu_get_alphatestref gpu_get_alphatestfunc gpu_get_texfilter ' +
  330. 'gpu_get_texfilter_ext gpu_get_texrepeat gpu_get_texrepeat_ext ' +
  331. 'gpu_get_tex_filter gpu_get_tex_filter_ext gpu_get_tex_repeat ' +
  332. 'gpu_get_tex_repeat_ext gpu_get_tex_mip_filter ' +
  333. 'gpu_get_tex_mip_filter_ext gpu_get_tex_mip_bias ' +
  334. 'gpu_get_tex_mip_bias_ext gpu_get_tex_min_mip gpu_get_tex_min_mip_ext ' +
  335. 'gpu_get_tex_max_mip gpu_get_tex_max_mip_ext gpu_get_tex_max_aniso ' +
  336. 'gpu_get_tex_max_aniso_ext gpu_get_tex_mip_enable ' +
  337. 'gpu_get_tex_mip_enable_ext gpu_push_state gpu_pop_state ' +
  338. 'gpu_get_state gpu_set_state draw_light_define_ambient ' +
  339. 'draw_light_define_direction draw_light_define_point ' +
  340. 'draw_light_enable draw_set_lighting draw_light_get_ambient ' +
  341. 'draw_light_get draw_get_lighting shop_leave_rating url_get_domain ' +
  342. 'url_open url_open_ext url_open_full get_timer achievement_login ' +
  343. 'achievement_logout achievement_post achievement_increment ' +
  344. 'achievement_post_score achievement_available ' +
  345. 'achievement_show_achievements achievement_show_leaderboards ' +
  346. 'achievement_load_friends achievement_load_leaderboard ' +
  347. 'achievement_send_challenge achievement_load_progress ' +
  348. 'achievement_reset achievement_login_status achievement_get_pic ' +
  349. 'achievement_show_challenge_notifications achievement_get_challenges ' +
  350. 'achievement_event achievement_show achievement_get_info ' +
  351. 'cloud_file_save cloud_string_save cloud_synchronise ads_enable ' +
  352. 'ads_disable ads_setup ads_engagement_launch ads_engagement_available ' +
  353. 'ads_engagement_active ads_event ads_event_preload ' +
  354. 'ads_set_reward_callback ads_get_display_height ads_get_display_width ' +
  355. 'ads_move ads_interstitial_available ads_interstitial_display ' +
  356. 'device_get_tilt_x device_get_tilt_y device_get_tilt_z ' +
  357. 'device_is_keypad_open device_mouse_check_button ' +
  358. 'device_mouse_check_button_pressed device_mouse_check_button_released ' +
  359. 'device_mouse_x device_mouse_y device_mouse_raw_x device_mouse_raw_y ' +
  360. 'device_mouse_x_to_gui device_mouse_y_to_gui iap_activate iap_status ' +
  361. 'iap_enumerate_products iap_restore_all iap_acquire iap_consume ' +
  362. 'iap_product_details iap_purchase_details facebook_init ' +
  363. 'facebook_login facebook_status facebook_graph_request ' +
  364. 'facebook_dialog facebook_logout facebook_launch_offerwall ' +
  365. 'facebook_post_message facebook_send_invite facebook_user_id ' +
  366. 'facebook_accesstoken facebook_check_permission ' +
  367. 'facebook_request_read_permissions ' +
  368. 'facebook_request_publish_permissions gamepad_is_supported ' +
  369. 'gamepad_get_device_count gamepad_is_connected ' +
  370. 'gamepad_get_description gamepad_get_button_threshold ' +
  371. 'gamepad_set_button_threshold gamepad_get_axis_deadzone ' +
  372. 'gamepad_set_axis_deadzone gamepad_button_count gamepad_button_check ' +
  373. 'gamepad_button_check_pressed gamepad_button_check_released ' +
  374. 'gamepad_button_value gamepad_axis_count gamepad_axis_value ' +
  375. 'gamepad_set_vibration gamepad_set_colour gamepad_set_color ' +
  376. 'os_is_paused window_has_focus code_is_compiled http_get ' +
  377. 'http_get_file http_post_string http_request json_encode json_decode ' +
  378. 'zip_unzip load_csv base64_encode base64_decode md5_string_unicode ' +
  379. 'md5_string_utf8 md5_file os_is_network_connected sha1_string_unicode ' +
  380. 'sha1_string_utf8 sha1_file os_powersave_enable analytics_event ' +
  381. 'analytics_event_ext win8_livetile_tile_notification ' +
  382. 'win8_livetile_tile_clear win8_livetile_badge_notification ' +
  383. 'win8_livetile_badge_clear win8_livetile_queue_enable ' +
  384. 'win8_secondarytile_pin win8_secondarytile_badge_notification ' +
  385. 'win8_secondarytile_delete win8_livetile_notification_begin ' +
  386. 'win8_livetile_notification_secondary_begin ' +
  387. 'win8_livetile_notification_expiry win8_livetile_notification_tag ' +
  388. 'win8_livetile_notification_text_add ' +
  389. 'win8_livetile_notification_image_add win8_livetile_notification_end ' +
  390. 'win8_appbar_enable win8_appbar_add_element ' +
  391. 'win8_appbar_remove_element win8_settingscharm_add_entry ' +
  392. 'win8_settingscharm_add_html_entry win8_settingscharm_add_xaml_entry ' +
  393. 'win8_settingscharm_set_xaml_property ' +
  394. 'win8_settingscharm_get_xaml_property win8_settingscharm_remove_entry ' +
  395. 'win8_share_image win8_share_screenshot win8_share_file ' +
  396. 'win8_share_url win8_share_text win8_search_enable ' +
  397. 'win8_search_disable win8_search_add_suggestions ' +
  398. 'win8_device_touchscreen_available win8_license_initialize_sandbox ' +
  399. 'win8_license_trial_version winphone_license_trial_version ' +
  400. 'winphone_tile_title winphone_tile_count winphone_tile_back_title ' +
  401. 'winphone_tile_back_content winphone_tile_back_content_wide ' +
  402. 'winphone_tile_front_image winphone_tile_front_image_small ' +
  403. 'winphone_tile_front_image_wide winphone_tile_back_image ' +
  404. 'winphone_tile_back_image_wide winphone_tile_background_colour ' +
  405. 'winphone_tile_background_color winphone_tile_icon_image ' +
  406. 'winphone_tile_small_icon_image winphone_tile_wide_content ' +
  407. 'winphone_tile_cycle_images winphone_tile_small_background_image ' +
  408. 'physics_world_create physics_world_gravity ' +
  409. 'physics_world_update_speed physics_world_update_iterations ' +
  410. 'physics_world_draw_debug physics_pause_enable physics_fixture_create ' +
  411. 'physics_fixture_set_kinematic physics_fixture_set_density ' +
  412. 'physics_fixture_set_awake physics_fixture_set_restitution ' +
  413. 'physics_fixture_set_friction physics_fixture_set_collision_group ' +
  414. 'physics_fixture_set_sensor physics_fixture_set_linear_damping ' +
  415. 'physics_fixture_set_angular_damping physics_fixture_set_circle_shape ' +
  416. 'physics_fixture_set_box_shape physics_fixture_set_edge_shape ' +
  417. 'physics_fixture_set_polygon_shape physics_fixture_set_chain_shape ' +
  418. 'physics_fixture_add_point physics_fixture_bind ' +
  419. 'physics_fixture_bind_ext physics_fixture_delete physics_apply_force ' +
  420. 'physics_apply_impulse physics_apply_angular_impulse ' +
  421. 'physics_apply_local_force physics_apply_local_impulse ' +
  422. 'physics_apply_torque physics_mass_properties physics_draw_debug ' +
  423. 'physics_test_overlap physics_remove_fixture physics_set_friction ' +
  424. 'physics_set_density physics_set_restitution physics_get_friction ' +
  425. 'physics_get_density physics_get_restitution ' +
  426. 'physics_joint_distance_create physics_joint_rope_create ' +
  427. 'physics_joint_revolute_create physics_joint_prismatic_create ' +
  428. 'physics_joint_pulley_create physics_joint_wheel_create ' +
  429. 'physics_joint_weld_create physics_joint_friction_create ' +
  430. 'physics_joint_gear_create physics_joint_enable_motor ' +
  431. 'physics_joint_get_value physics_joint_set_value physics_joint_delete ' +
  432. 'physics_particle_create physics_particle_delete ' +
  433. 'physics_particle_delete_region_circle ' +
  434. 'physics_particle_delete_region_box ' +
  435. 'physics_particle_delete_region_poly physics_particle_set_flags ' +
  436. 'physics_particle_set_category_flags physics_particle_draw ' +
  437. 'physics_particle_draw_ext physics_particle_count ' +
  438. 'physics_particle_get_data physics_particle_get_data_particle ' +
  439. 'physics_particle_group_begin physics_particle_group_circle ' +
  440. 'physics_particle_group_box physics_particle_group_polygon ' +
  441. 'physics_particle_group_add_point physics_particle_group_end ' +
  442. 'physics_particle_group_join physics_particle_group_delete ' +
  443. 'physics_particle_group_count physics_particle_group_get_data ' +
  444. 'physics_particle_group_get_mass physics_particle_group_get_inertia ' +
  445. 'physics_particle_group_get_centre_x ' +
  446. 'physics_particle_group_get_centre_y physics_particle_group_get_vel_x ' +
  447. 'physics_particle_group_get_vel_y physics_particle_group_get_ang_vel ' +
  448. 'physics_particle_group_get_x physics_particle_group_get_y ' +
  449. 'physics_particle_group_get_angle physics_particle_set_group_flags ' +
  450. 'physics_particle_get_group_flags physics_particle_get_max_count ' +
  451. 'physics_particle_get_radius physics_particle_get_density ' +
  452. 'physics_particle_get_damping physics_particle_get_gravity_scale ' +
  453. 'physics_particle_set_max_count physics_particle_set_radius ' +
  454. 'physics_particle_set_density physics_particle_set_damping ' +
  455. 'physics_particle_set_gravity_scale network_create_socket ' +
  456. 'network_create_socket_ext network_create_server ' +
  457. 'network_create_server_raw network_connect network_connect_raw ' +
  458. 'network_send_packet network_send_raw network_send_broadcast ' +
  459. 'network_send_udp network_send_udp_raw network_set_timeout ' +
  460. 'network_set_config network_resolve network_destroy buffer_create ' +
  461. 'buffer_write buffer_read buffer_seek buffer_get_surface ' +
  462. 'buffer_set_surface buffer_delete buffer_exists buffer_get_type ' +
  463. 'buffer_get_alignment buffer_poke buffer_peek buffer_save ' +
  464. 'buffer_save_ext buffer_load buffer_load_ext buffer_load_partial ' +
  465. 'buffer_copy buffer_fill buffer_get_size buffer_tell buffer_resize ' +
  466. 'buffer_md5 buffer_sha1 buffer_base64_encode buffer_base64_decode ' +
  467. 'buffer_base64_decode_ext buffer_sizeof buffer_get_address ' +
  468. 'buffer_create_from_vertex_buffer ' +
  469. 'buffer_create_from_vertex_buffer_ext buffer_copy_from_vertex_buffer ' +
  470. 'buffer_async_group_begin buffer_async_group_option ' +
  471. 'buffer_async_group_end buffer_load_async buffer_save_async ' +
  472. 'gml_release_mode gml_pragma steam_activate_overlay ' +
  473. 'steam_is_overlay_enabled steam_is_overlay_activated ' +
  474. 'steam_get_persona_name steam_initialised ' +
  475. 'steam_is_cloud_enabled_for_app steam_is_cloud_enabled_for_account ' +
  476. 'steam_file_persisted steam_get_quota_total steam_get_quota_free ' +
  477. 'steam_file_write steam_file_write_file steam_file_read ' +
  478. 'steam_file_delete steam_file_exists steam_file_size steam_file_share ' +
  479. 'steam_is_screenshot_requested steam_send_screenshot ' +
  480. 'steam_is_user_logged_on steam_get_user_steam_id steam_user_owns_dlc ' +
  481. 'steam_user_installed_dlc steam_set_achievement steam_get_achievement ' +
  482. 'steam_clear_achievement steam_set_stat_int steam_set_stat_float ' +
  483. 'steam_set_stat_avg_rate steam_get_stat_int steam_get_stat_float ' +
  484. 'steam_get_stat_avg_rate steam_reset_all_stats ' +
  485. 'steam_reset_all_stats_achievements steam_stats_ready ' +
  486. 'steam_create_leaderboard steam_upload_score steam_upload_score_ext ' +
  487. 'steam_download_scores_around_user steam_download_scores ' +
  488. 'steam_download_friends_scores steam_upload_score_buffer ' +
  489. 'steam_upload_score_buffer_ext steam_current_game_language ' +
  490. 'steam_available_languages steam_activate_overlay_browser ' +
  491. 'steam_activate_overlay_user steam_activate_overlay_store ' +
  492. 'steam_get_user_persona_name steam_get_app_id ' +
  493. 'steam_get_user_account_id steam_ugc_download steam_ugc_create_item ' +
  494. 'steam_ugc_start_item_update steam_ugc_set_item_title ' +
  495. 'steam_ugc_set_item_description steam_ugc_set_item_visibility ' +
  496. 'steam_ugc_set_item_tags steam_ugc_set_item_content ' +
  497. 'steam_ugc_set_item_preview steam_ugc_submit_item_update ' +
  498. 'steam_ugc_get_item_update_progress steam_ugc_subscribe_item ' +
  499. 'steam_ugc_unsubscribe_item steam_ugc_num_subscribed_items ' +
  500. 'steam_ugc_get_subscribed_items steam_ugc_get_item_install_info ' +
  501. 'steam_ugc_get_item_update_info steam_ugc_request_item_details ' +
  502. 'steam_ugc_create_query_user steam_ugc_create_query_user_ex ' +
  503. 'steam_ugc_create_query_all steam_ugc_create_query_all_ex ' +
  504. 'steam_ugc_query_set_cloud_filename_filter ' +
  505. 'steam_ugc_query_set_match_any_tag steam_ugc_query_set_search_text ' +
  506. 'steam_ugc_query_set_ranked_by_trend_days ' +
  507. 'steam_ugc_query_add_required_tag steam_ugc_query_add_excluded_tag ' +
  508. 'steam_ugc_query_set_return_long_description ' +
  509. 'steam_ugc_query_set_return_total_only ' +
  510. 'steam_ugc_query_set_allow_cached_response steam_ugc_send_query ' +
  511. 'shader_set shader_get_name shader_reset shader_current ' +
  512. 'shader_is_compiled shader_get_sampler_index shader_get_uniform ' +
  513. 'shader_set_uniform_i shader_set_uniform_i_array shader_set_uniform_f ' +
  514. 'shader_set_uniform_f_array shader_set_uniform_matrix ' +
  515. 'shader_set_uniform_matrix_array shader_enable_corner_id ' +
  516. 'texture_set_stage texture_get_texel_width texture_get_texel_height ' +
  517. 'shaders_are_supported vertex_format_begin vertex_format_end ' +
  518. 'vertex_format_delete vertex_format_add_position ' +
  519. 'vertex_format_add_position_3d vertex_format_add_colour ' +
  520. 'vertex_format_add_color vertex_format_add_normal ' +
  521. 'vertex_format_add_texcoord vertex_format_add_textcoord ' +
  522. 'vertex_format_add_custom vertex_create_buffer ' +
  523. 'vertex_create_buffer_ext vertex_delete_buffer vertex_begin ' +
  524. 'vertex_end vertex_position vertex_position_3d vertex_colour ' +
  525. 'vertex_color vertex_argb vertex_texcoord vertex_normal vertex_float1 ' +
  526. 'vertex_float2 vertex_float3 vertex_float4 vertex_ubyte4 ' +
  527. 'vertex_submit vertex_freeze vertex_get_number vertex_get_buffer_size ' +
  528. 'vertex_create_buffer_from_buffer ' +
  529. 'vertex_create_buffer_from_buffer_ext push_local_notification ' +
  530. 'push_get_first_local_notification push_get_next_local_notification ' +
  531. 'push_cancel_local_notification skeleton_animation_set ' +
  532. 'skeleton_animation_get skeleton_animation_mix ' +
  533. 'skeleton_animation_set_ext skeleton_animation_get_ext ' +
  534. 'skeleton_animation_get_duration skeleton_animation_get_frames ' +
  535. 'skeleton_animation_clear skeleton_skin_set skeleton_skin_get ' +
  536. 'skeleton_attachment_set skeleton_attachment_get ' +
  537. 'skeleton_attachment_create skeleton_collision_draw_set ' +
  538. 'skeleton_bone_data_get skeleton_bone_data_set ' +
  539. 'skeleton_bone_state_get skeleton_bone_state_set skeleton_get_minmax ' +
  540. 'skeleton_get_num_bounds skeleton_get_bounds ' +
  541. 'skeleton_animation_get_frame skeleton_animation_set_frame ' +
  542. 'draw_skeleton draw_skeleton_time draw_skeleton_instance ' +
  543. 'draw_skeleton_collision skeleton_animation_list skeleton_skin_list ' +
  544. 'skeleton_slot_data layer_get_id layer_get_id_at_depth ' +
  545. 'layer_get_depth layer_create layer_destroy layer_destroy_instances ' +
  546. 'layer_add_instance layer_has_instance layer_set_visible ' +
  547. 'layer_get_visible layer_exists layer_x layer_y layer_get_x ' +
  548. 'layer_get_y layer_hspeed layer_vspeed layer_get_hspeed ' +
  549. 'layer_get_vspeed layer_script_begin layer_script_end layer_shader ' +
  550. 'layer_get_script_begin layer_get_script_end layer_get_shader ' +
  551. 'layer_set_target_room layer_get_target_room layer_reset_target_room ' +
  552. 'layer_get_all layer_get_all_elements layer_get_name layer_depth ' +
  553. 'layer_get_element_layer layer_get_element_type layer_element_move ' +
  554. 'layer_force_draw_depth layer_is_draw_depth_forced ' +
  555. 'layer_get_forced_depth layer_background_get_id ' +
  556. 'layer_background_exists layer_background_create ' +
  557. 'layer_background_destroy layer_background_visible ' +
  558. 'layer_background_change layer_background_sprite ' +
  559. 'layer_background_htiled layer_background_vtiled ' +
  560. 'layer_background_stretch layer_background_yscale ' +
  561. 'layer_background_xscale layer_background_blend ' +
  562. 'layer_background_alpha layer_background_index layer_background_speed ' +
  563. 'layer_background_get_visible layer_background_get_sprite ' +
  564. 'layer_background_get_htiled layer_background_get_vtiled ' +
  565. 'layer_background_get_stretch layer_background_get_yscale ' +
  566. 'layer_background_get_xscale layer_background_get_blend ' +
  567. 'layer_background_get_alpha layer_background_get_index ' +
  568. 'layer_background_get_speed layer_sprite_get_id layer_sprite_exists ' +
  569. 'layer_sprite_create layer_sprite_destroy layer_sprite_change ' +
  570. 'layer_sprite_index layer_sprite_speed layer_sprite_xscale ' +
  571. 'layer_sprite_yscale layer_sprite_angle layer_sprite_blend ' +
  572. 'layer_sprite_alpha layer_sprite_x layer_sprite_y ' +
  573. 'layer_sprite_get_sprite layer_sprite_get_index ' +
  574. 'layer_sprite_get_speed layer_sprite_get_xscale ' +
  575. 'layer_sprite_get_yscale layer_sprite_get_angle ' +
  576. 'layer_sprite_get_blend layer_sprite_get_alpha layer_sprite_get_x ' +
  577. 'layer_sprite_get_y layer_tilemap_get_id layer_tilemap_exists ' +
  578. 'layer_tilemap_create layer_tilemap_destroy tilemap_tileset tilemap_x ' +
  579. 'tilemap_y tilemap_set tilemap_set_at_pixel tilemap_get_tileset ' +
  580. 'tilemap_get_tile_width tilemap_get_tile_height tilemap_get_width ' +
  581. 'tilemap_get_height tilemap_get_x tilemap_get_y tilemap_get ' +
  582. 'tilemap_get_at_pixel tilemap_get_cell_x_at_pixel ' +
  583. 'tilemap_get_cell_y_at_pixel tilemap_clear draw_tilemap draw_tile ' +
  584. 'tilemap_set_global_mask tilemap_get_global_mask tilemap_set_mask ' +
  585. 'tilemap_get_mask tilemap_get_frame tile_set_empty tile_set_index ' +
  586. 'tile_set_flip tile_set_mirror tile_set_rotate tile_get_empty ' +
  587. 'tile_get_index tile_get_flip tile_get_mirror tile_get_rotate ' +
  588. 'layer_tile_exists layer_tile_create layer_tile_destroy ' +
  589. 'layer_tile_change layer_tile_xscale layer_tile_yscale ' +
  590. 'layer_tile_blend layer_tile_alpha layer_tile_x layer_tile_y ' +
  591. 'layer_tile_region layer_tile_visible layer_tile_get_sprite ' +
  592. 'layer_tile_get_xscale layer_tile_get_yscale layer_tile_get_blend ' +
  593. 'layer_tile_get_alpha layer_tile_get_x layer_tile_get_y ' +
  594. 'layer_tile_get_region layer_tile_get_visible ' +
  595. 'layer_instance_get_instance instance_activate_layer ' +
  596. 'instance_deactivate_layer camera_create camera_create_view ' +
  597. 'camera_destroy camera_apply camera_get_active camera_get_default ' +
  598. 'camera_set_default camera_set_view_mat camera_set_proj_mat ' +
  599. 'camera_set_update_script camera_set_begin_script ' +
  600. 'camera_set_end_script camera_set_view_pos camera_set_view_size ' +
  601. 'camera_set_view_speed camera_set_view_border camera_set_view_angle ' +
  602. 'camera_set_view_target camera_get_view_mat camera_get_proj_mat ' +
  603. 'camera_get_update_script camera_get_begin_script ' +
  604. 'camera_get_end_script camera_get_view_x camera_get_view_y ' +
  605. 'camera_get_view_width camera_get_view_height camera_get_view_speed_x ' +
  606. 'camera_get_view_speed_y camera_get_view_border_x ' +
  607. 'camera_get_view_border_y camera_get_view_angle ' +
  608. 'camera_get_view_target view_get_camera view_get_visible ' +
  609. 'view_get_xport view_get_yport view_get_wport view_get_hport ' +
  610. 'view_get_surface_id view_set_camera view_set_visible view_set_xport ' +
  611. 'view_set_yport view_set_wport view_set_hport view_set_surface_id ' +
  612. 'gesture_drag_time gesture_drag_distance gesture_flick_speed ' +
  613. 'gesture_double_tap_time gesture_double_tap_distance ' +
  614. 'gesture_pinch_distance gesture_pinch_angle_towards ' +
  615. 'gesture_pinch_angle_away gesture_rotate_time gesture_rotate_angle ' +
  616. 'gesture_tap_count gesture_get_drag_time gesture_get_drag_distance ' +
  617. 'gesture_get_flick_speed gesture_get_double_tap_time ' +
  618. 'gesture_get_double_tap_distance gesture_get_pinch_distance ' +
  619. 'gesture_get_pinch_angle_towards gesture_get_pinch_angle_away ' +
  620. 'gesture_get_rotate_time gesture_get_rotate_angle ' +
  621. 'gesture_get_tap_count keyboard_virtual_show keyboard_virtual_hide ' +
  622. 'keyboard_virtual_status keyboard_virtual_height',
  623. literal: 'self other all noone global local undefined pointer_invalid ' +
  624. 'pointer_null path_action_stop path_action_restart ' +
  625. 'path_action_continue path_action_reverse true false pi GM_build_date ' +
  626. 'GM_version GM_runtime_version timezone_local timezone_utc ' +
  627. 'gamespeed_fps gamespeed_microseconds ev_create ev_destroy ev_step ' +
  628. 'ev_alarm ev_keyboard ev_mouse ev_collision ev_other ev_draw ' +
  629. 'ev_draw_begin ev_draw_end ev_draw_pre ev_draw_post ev_keypress ' +
  630. 'ev_keyrelease ev_trigger ev_left_button ev_right_button ' +
  631. 'ev_middle_button ev_no_button ev_left_press ev_right_press ' +
  632. 'ev_middle_press ev_left_release ev_right_release ev_middle_release ' +
  633. 'ev_mouse_enter ev_mouse_leave ev_mouse_wheel_up ev_mouse_wheel_down ' +
  634. 'ev_global_left_button ev_global_right_button ev_global_middle_button ' +
  635. 'ev_global_left_press ev_global_right_press ev_global_middle_press ' +
  636. 'ev_global_left_release ev_global_right_release ' +
  637. 'ev_global_middle_release ev_joystick1_left ev_joystick1_right ' +
  638. 'ev_joystick1_up ev_joystick1_down ev_joystick1_button1 ' +
  639. 'ev_joystick1_button2 ev_joystick1_button3 ev_joystick1_button4 ' +
  640. 'ev_joystick1_button5 ev_joystick1_button6 ev_joystick1_button7 ' +
  641. 'ev_joystick1_button8 ev_joystick2_left ev_joystick2_right ' +
  642. 'ev_joystick2_up ev_joystick2_down ev_joystick2_button1 ' +
  643. 'ev_joystick2_button2 ev_joystick2_button3 ev_joystick2_button4 ' +
  644. 'ev_joystick2_button5 ev_joystick2_button6 ev_joystick2_button7 ' +
  645. 'ev_joystick2_button8 ev_outside ev_boundary ev_game_start ' +
  646. 'ev_game_end ev_room_start ev_room_end ev_no_more_lives ' +
  647. 'ev_animation_end ev_end_of_path ev_no_more_health ev_close_button ' +
  648. 'ev_user0 ev_user1 ev_user2 ev_user3 ev_user4 ev_user5 ev_user6 ' +
  649. 'ev_user7 ev_user8 ev_user9 ev_user10 ev_user11 ev_user12 ev_user13 ' +
  650. 'ev_user14 ev_user15 ev_step_normal ev_step_begin ev_step_end ev_gui ' +
  651. 'ev_gui_begin ev_gui_end ev_cleanup ev_gesture ev_gesture_tap ' +
  652. 'ev_gesture_double_tap ev_gesture_drag_start ev_gesture_dragging ' +
  653. 'ev_gesture_drag_end ev_gesture_flick ev_gesture_pinch_start ' +
  654. 'ev_gesture_pinch_in ev_gesture_pinch_out ev_gesture_pinch_end ' +
  655. 'ev_gesture_rotate_start ev_gesture_rotating ev_gesture_rotate_end ' +
  656. 'ev_global_gesture_tap ev_global_gesture_double_tap ' +
  657. 'ev_global_gesture_drag_start ev_global_gesture_dragging ' +
  658. 'ev_global_gesture_drag_end ev_global_gesture_flick ' +
  659. 'ev_global_gesture_pinch_start ev_global_gesture_pinch_in ' +
  660. 'ev_global_gesture_pinch_out ev_global_gesture_pinch_end ' +
  661. 'ev_global_gesture_rotate_start ev_global_gesture_rotating ' +
  662. 'ev_global_gesture_rotate_end vk_nokey vk_anykey vk_enter vk_return ' +
  663. 'vk_shift vk_control vk_alt vk_escape vk_space vk_backspace vk_tab ' +
  664. 'vk_pause vk_printscreen vk_left vk_right vk_up vk_down vk_home ' +
  665. 'vk_end vk_delete vk_insert vk_pageup vk_pagedown vk_f1 vk_f2 vk_f3 ' +
  666. 'vk_f4 vk_f5 vk_f6 vk_f7 vk_f8 vk_f9 vk_f10 vk_f11 vk_f12 vk_numpad0 ' +
  667. 'vk_numpad1 vk_numpad2 vk_numpad3 vk_numpad4 vk_numpad5 vk_numpad6 ' +
  668. 'vk_numpad7 vk_numpad8 vk_numpad9 vk_divide vk_multiply vk_subtract ' +
  669. 'vk_add vk_decimal vk_lshift vk_lcontrol vk_lalt vk_rshift ' +
  670. 'vk_rcontrol vk_ralt mb_any mb_none mb_left mb_right mb_middle ' +
  671. 'c_aqua c_black c_blue c_dkgray c_fuchsia c_gray c_green c_lime ' +
  672. 'c_ltgray c_maroon c_navy c_olive c_purple c_red c_silver c_teal ' +
  673. 'c_white c_yellow c_orange fa_left fa_center fa_right fa_top ' +
  674. 'fa_middle fa_bottom pr_pointlist pr_linelist pr_linestrip ' +
  675. 'pr_trianglelist pr_trianglestrip pr_trianglefan bm_complex bm_normal ' +
  676. 'bm_add bm_max bm_subtract bm_zero bm_one bm_src_colour ' +
  677. 'bm_inv_src_colour bm_src_color bm_inv_src_color bm_src_alpha ' +
  678. 'bm_inv_src_alpha bm_dest_alpha bm_inv_dest_alpha bm_dest_colour ' +
  679. 'bm_inv_dest_colour bm_dest_color bm_inv_dest_color bm_src_alpha_sat ' +
  680. 'tf_point tf_linear tf_anisotropic mip_off mip_on mip_markedonly ' +
  681. 'audio_falloff_none audio_falloff_inverse_distance ' +
  682. 'audio_falloff_inverse_distance_clamped audio_falloff_linear_distance ' +
  683. 'audio_falloff_linear_distance_clamped ' +
  684. 'audio_falloff_exponent_distance ' +
  685. 'audio_falloff_exponent_distance_clamped audio_old_system ' +
  686. 'audio_new_system audio_mono audio_stereo audio_3d cr_default cr_none ' +
  687. 'cr_arrow cr_cross cr_beam cr_size_nesw cr_size_ns cr_size_nwse ' +
  688. 'cr_size_we cr_uparrow cr_hourglass cr_drag cr_appstart cr_handpoint ' +
  689. 'cr_size_all spritespeed_framespersecond ' +
  690. 'spritespeed_framespergameframe asset_object asset_unknown ' +
  691. 'asset_sprite asset_sound asset_room asset_path asset_script ' +
  692. 'asset_font asset_timeline asset_tiles asset_shader fa_readonly ' +
  693. 'fa_hidden fa_sysfile fa_volumeid fa_directory fa_archive ' +
  694. 'ds_type_map ds_type_list ds_type_stack ds_type_queue ds_type_grid ' +
  695. 'ds_type_priority ef_explosion ef_ring ef_ellipse ef_firework ' +
  696. 'ef_smoke ef_smokeup ef_star ef_spark ef_flare ef_cloud ef_rain ' +
  697. 'ef_snow pt_shape_pixel pt_shape_disk pt_shape_square pt_shape_line ' +
  698. 'pt_shape_star pt_shape_circle pt_shape_ring pt_shape_sphere ' +
  699. 'pt_shape_flare pt_shape_spark pt_shape_explosion pt_shape_cloud ' +
  700. 'pt_shape_smoke pt_shape_snow ps_distr_linear ps_distr_gaussian ' +
  701. 'ps_distr_invgaussian ps_shape_rectangle ps_shape_ellipse ' +
  702. 'ps_shape_diamond ps_shape_line ty_real ty_string dll_cdecl ' +
  703. 'dll_stdcall matrix_view matrix_projection matrix_world os_win32 ' +
  704. 'os_windows os_macosx os_ios os_android os_symbian os_linux ' +
  705. 'os_unknown os_winphone os_tizen os_win8native ' +
  706. 'os_wiiu os_3ds os_psvita os_bb10 os_ps4 os_xboxone ' +
  707. 'os_ps3 os_xbox360 os_uwp os_tvos os_switch ' +
  708. 'browser_not_a_browser browser_unknown browser_ie browser_firefox ' +
  709. 'browser_chrome browser_safari browser_safari_mobile browser_opera ' +
  710. 'browser_tizen browser_edge browser_windows_store browser_ie_mobile ' +
  711. 'device_ios_unknown device_ios_iphone device_ios_iphone_retina ' +
  712. 'device_ios_ipad device_ios_ipad_retina device_ios_iphone5 ' +
  713. 'device_ios_iphone6 device_ios_iphone6plus device_emulator ' +
  714. 'device_tablet display_landscape display_landscape_flipped ' +
  715. 'display_portrait display_portrait_flipped tm_sleep tm_countvsyncs ' +
  716. 'of_challenge_win of_challen ge_lose of_challenge_tie ' +
  717. 'leaderboard_type_number leaderboard_type_time_mins_secs ' +
  718. 'cmpfunc_never cmpfunc_less cmpfunc_equal cmpfunc_lessequal ' +
  719. 'cmpfunc_greater cmpfunc_notequal cmpfunc_greaterequal cmpfunc_always ' +
  720. 'cull_noculling cull_clockwise cull_counterclockwise lighttype_dir ' +
  721. 'lighttype_point iap_ev_storeload iap_ev_product iap_ev_purchase ' +
  722. 'iap_ev_consume iap_ev_restore iap_storeload_ok iap_storeload_failed ' +
  723. 'iap_status_uninitialised iap_status_unavailable iap_status_loading ' +
  724. 'iap_status_available iap_status_processing iap_status_restoring ' +
  725. 'iap_failed iap_unavailable iap_available iap_purchased iap_canceled ' +
  726. 'iap_refunded fb_login_default fb_login_fallback_to_webview ' +
  727. 'fb_login_no_fallback_to_webview fb_login_forcing_webview ' +
  728. 'fb_login_use_system_account fb_login_forcing_safari ' +
  729. 'phy_joint_anchor_1_x phy_joint_anchor_1_y phy_joint_anchor_2_x ' +
  730. 'phy_joint_anchor_2_y phy_joint_reaction_force_x ' +
  731. 'phy_joint_reaction_force_y phy_joint_reaction_torque ' +
  732. 'phy_joint_motor_speed phy_joint_angle phy_joint_motor_torque ' +
  733. 'phy_joint_max_motor_torque phy_joint_translation phy_joint_speed ' +
  734. 'phy_joint_motor_force phy_joint_max_motor_force phy_joint_length_1 ' +
  735. 'phy_joint_length_2 phy_joint_damping_ratio phy_joint_frequency ' +
  736. 'phy_joint_lower_angle_limit phy_joint_upper_angle_limit ' +
  737. 'phy_joint_angle_limits phy_joint_max_length phy_joint_max_torque ' +
  738. 'phy_joint_max_force phy_debug_render_aabb ' +
  739. 'phy_debug_render_collision_pairs phy_debug_render_coms ' +
  740. 'phy_debug_render_core_shapes phy_debug_render_joints ' +
  741. 'phy_debug_render_obb phy_debug_render_shapes ' +
  742. 'phy_particle_flag_water phy_particle_flag_zombie ' +
  743. 'phy_particle_flag_wall phy_particle_flag_spring ' +
  744. 'phy_particle_flag_elastic phy_particle_flag_viscous ' +
  745. 'phy_particle_flag_powder phy_particle_flag_tensile ' +
  746. 'phy_particle_flag_colourmixing phy_particle_flag_colormixing ' +
  747. 'phy_particle_group_flag_solid phy_particle_group_flag_rigid ' +
  748. 'phy_particle_data_flag_typeflags phy_particle_data_flag_position ' +
  749. 'phy_particle_data_flag_velocity phy_particle_data_flag_colour ' +
  750. 'phy_particle_data_flag_color phy_particle_data_flag_category ' +
  751. 'achievement_our_info achievement_friends_info ' +
  752. 'achievement_leaderboard_info achievement_achievement_info ' +
  753. 'achievement_filter_all_players achievement_filter_friends_only ' +
  754. 'achievement_filter_favorites_only ' +
  755. 'achievement_type_achievement_challenge ' +
  756. 'achievement_type_score_challenge achievement_pic_loaded ' +
  757. 'achievement_show_ui achievement_show_profile ' +
  758. 'achievement_show_leaderboard achievement_show_achievement ' +
  759. 'achievement_show_bank achievement_show_friend_picker ' +
  760. 'achievement_show_purchase_prompt network_socket_tcp ' +
  761. 'network_socket_udp network_socket_bluetooth network_type_connect ' +
  762. 'network_type_disconnect network_type_data ' +
  763. 'network_type_non_blocking_connect network_config_connect_timeout ' +
  764. 'network_config_use_non_blocking_socket ' +
  765. 'network_config_enable_reliable_udp ' +
  766. 'network_config_disable_reliable_udp buffer_fixed buffer_grow ' +
  767. 'buffer_wrap buffer_fast buffer_vbuffer buffer_network buffer_u8 ' +
  768. 'buffer_s8 buffer_u16 buffer_s16 buffer_u32 buffer_s32 buffer_u64 ' +
  769. 'buffer_f16 buffer_f32 buffer_f64 buffer_bool buffer_text ' +
  770. 'buffer_string buffer_surface_copy buffer_seek_start ' +
  771. 'buffer_seek_relative buffer_seek_end ' +
  772. 'buffer_generalerror buffer_outofspace buffer_outofbounds ' +
  773. 'buffer_invalidtype text_type button_type input_type ANSI_CHARSET ' +
  774. 'DEFAULT_CHARSET EASTEUROPE_CHARSET RUSSIAN_CHARSET SYMBOL_CHARSET ' +
  775. 'SHIFTJIS_CHARSET HANGEUL_CHARSET GB2312_CHARSET CHINESEBIG5_CHARSET ' +
  776. 'JOHAB_CHARSET HEBREW_CHARSET ARABIC_CHARSET GREEK_CHARSET ' +
  777. 'TURKISH_CHARSET VIETNAMESE_CHARSET THAI_CHARSET MAC_CHARSET ' +
  778. 'BALTIC_CHARSET OEM_CHARSET gp_face1 gp_face2 gp_face3 gp_face4 ' +
  779. 'gp_shoulderl gp_shoulderr gp_shoulderlb gp_shoulderrb gp_select ' +
  780. 'gp_start gp_stickl gp_stickr gp_padu gp_padd gp_padl gp_padr ' +
  781. 'gp_axislh gp_axislv gp_axisrh gp_axisrv ov_friends ov_community ' +
  782. 'ov_players ov_settings ov_gamegroup ov_achievements lb_sort_none ' +
  783. 'lb_sort_ascending lb_sort_descending lb_disp_none lb_disp_numeric ' +
  784. 'lb_disp_time_sec lb_disp_time_ms ugc_result_success ' +
  785. 'ugc_filetype_community ugc_filetype_microtrans ugc_visibility_public ' +
  786. 'ugc_visibility_friends_only ugc_visibility_private ' +
  787. 'ugc_query_RankedByVote ugc_query_RankedByPublicationDate ' +
  788. 'ugc_query_AcceptedForGameRankedByAcceptanceDate ' +
  789. 'ugc_query_RankedByTrend ' +
  790. 'ugc_query_FavoritedByFriendsRankedByPublicationDate ' +
  791. 'ugc_query_CreatedByFriendsRankedByPublicationDate ' +
  792. 'ugc_query_RankedByNumTimesReported ' +
  793. 'ugc_query_CreatedByFollowedUsersRankedByPublicationDate ' +
  794. 'ugc_query_NotYetRated ugc_query_RankedByTotalVotesAsc ' +
  795. 'ugc_query_RankedByVotesUp ugc_query_RankedByTextSearch ' +
  796. 'ugc_sortorder_CreationOrderDesc ugc_sortorder_CreationOrderAsc ' +
  797. 'ugc_sortorder_TitleAsc ugc_sortorder_LastUpdatedDesc ' +
  798. 'ugc_sortorder_SubscriptionDateDesc ugc_sortorder_VoteScoreDesc ' +
  799. 'ugc_sortorder_ForModeration ugc_list_Published ugc_list_VotedOn ' +
  800. 'ugc_list_VotedUp ugc_list_VotedDown ugc_list_WillVoteLater ' +
  801. 'ugc_list_Favorited ugc_list_Subscribed ugc_list_UsedOrPlayed ' +
  802. 'ugc_list_Followed ugc_match_Items ugc_match_Items_Mtx ' +
  803. 'ugc_match_Items_ReadyToUse ugc_match_Collections ugc_match_Artwork ' +
  804. 'ugc_match_Videos ugc_match_Screenshots ugc_match_AllGuides ' +
  805. 'ugc_match_WebGuides ugc_match_IntegratedGuides ' +
  806. 'ugc_match_UsableInGame ugc_match_ControllerBindings ' +
  807. 'vertex_usage_position vertex_usage_colour vertex_usage_color ' +
  808. 'vertex_usage_normal vertex_usage_texcoord vertex_usage_textcoord ' +
  809. 'vertex_usage_blendweight vertex_usage_blendindices ' +
  810. 'vertex_usage_psize vertex_usage_tangent vertex_usage_binormal ' +
  811. 'vertex_usage_fog vertex_usage_depth vertex_usage_sample ' +
  812. 'vertex_type_float1 vertex_type_float2 vertex_type_float3 ' +
  813. 'vertex_type_float4 vertex_type_colour vertex_type_color ' +
  814. 'vertex_type_ubyte4 layerelementtype_undefined ' +
  815. 'layerelementtype_background layerelementtype_instance ' +
  816. 'layerelementtype_oldtilemap layerelementtype_sprite ' +
  817. 'layerelementtype_tilemap layerelementtype_particlesystem ' +
  818. 'layerelementtype_tile tile_rotate tile_flip tile_mirror ' +
  819. 'tile_index_mask kbv_type_default kbv_type_ascii kbv_type_url ' +
  820. 'kbv_type_email kbv_type_numbers kbv_type_phone kbv_type_phone_name ' +
  821. 'kbv_returnkey_default kbv_returnkey_go kbv_returnkey_google ' +
  822. 'kbv_returnkey_join kbv_returnkey_next kbv_returnkey_route ' +
  823. 'kbv_returnkey_search kbv_returnkey_send kbv_returnkey_yahoo ' +
  824. 'kbv_returnkey_done kbv_returnkey_continue kbv_returnkey_emergency ' +
  825. 'kbv_autocapitalize_none kbv_autocapitalize_words ' +
  826. 'kbv_autocapitalize_sentences kbv_autocapitalize_characters',
  827. symbol: 'argument_relative argument argument0 argument1 argument2 ' +
  828. 'argument3 argument4 argument5 argument6 argument7 argument8 ' +
  829. 'argument9 argument10 argument11 argument12 argument13 argument14 ' +
  830. 'argument15 argument_count x|0 y|0 xprevious yprevious xstart ystart ' +
  831. 'hspeed vspeed direction speed friction gravity gravity_direction ' +
  832. 'path_index path_position path_positionprevious path_speed ' +
  833. 'path_scale path_orientation path_endaction object_index id solid ' +
  834. 'persistent mask_index instance_count instance_id room_speed fps ' +
  835. 'fps_real current_time current_year current_month current_day ' +
  836. 'current_weekday current_hour current_minute current_second alarm ' +
  837. 'timeline_index timeline_position timeline_speed timeline_running ' +
  838. 'timeline_loop room room_first room_last room_width room_height ' +
  839. 'room_caption room_persistent score lives health show_score ' +
  840. 'show_lives show_health caption_score caption_lives caption_health ' +
  841. 'event_type event_number event_object event_action ' +
  842. 'application_surface gamemaker_pro gamemaker_registered ' +
  843. 'gamemaker_version error_occurred error_last debug_mode ' +
  844. 'keyboard_key keyboard_lastkey keyboard_lastchar keyboard_string ' +
  845. 'mouse_x mouse_y mouse_button mouse_lastbutton cursor_sprite ' +
  846. 'visible sprite_index sprite_width sprite_height sprite_xoffset ' +
  847. 'sprite_yoffset image_number image_index image_speed depth ' +
  848. 'image_xscale image_yscale image_angle image_alpha image_blend ' +
  849. 'bbox_left bbox_right bbox_top bbox_bottom layer background_colour ' +
  850. 'background_showcolour background_color background_showcolor ' +
  851. 'view_enabled view_current view_visible view_xview view_yview ' +
  852. 'view_wview view_hview view_xport view_yport view_wport view_hport ' +
  853. 'view_angle view_hborder view_vborder view_hspeed view_vspeed ' +
  854. 'view_object view_surface_id view_camera game_id game_display_name ' +
  855. 'game_project_name game_save_id working_directory temp_directory ' +
  856. 'program_directory browser_width browser_height os_type os_device ' +
  857. 'os_browser os_version display_aa async_load delta_time ' +
  858. 'webgl_enabled event_data iap_data phy_rotation phy_position_x ' +
  859. 'phy_position_y phy_angular_velocity phy_linear_velocity_x ' +
  860. 'phy_linear_velocity_y phy_speed_x phy_speed_y phy_speed ' +
  861. 'phy_angular_damping phy_linear_damping phy_bullet ' +
  862. 'phy_fixed_rotation phy_active phy_mass phy_inertia phy_com_x ' +
  863. 'phy_com_y phy_dynamic phy_kinematic phy_sleeping ' +
  864. 'phy_collision_points phy_collision_x phy_collision_y ' +
  865. 'phy_col_normal_x phy_col_normal_y phy_position_xprevious ' +
  866. 'phy_position_yprevious'
  867. };
  868. return {
  869. name: 'GML',
  870. case_insensitive: false, // language is case-insensitive
  871. keywords: GML_KEYWORDS,
  872. contains: [
  873. hljs.C_LINE_COMMENT_MODE,
  874. hljs.C_BLOCK_COMMENT_MODE,
  875. hljs.APOS_STRING_MODE,
  876. hljs.QUOTE_STRING_MODE,
  877. hljs.C_NUMBER_MODE
  878. ]
  879. };
  880. }
  881. module.exports = gml;