l0bsterssg

node.js static responsive blog post generator
Log | Files | Refs | README

gml.js (59965B)


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