I'd prefer non-troll responses. But here it goes:
These functions are now obsolete in GM:Studiovariable_global_array_getvariable_global_array_setvariable_global_array2_getvariable_global_array2_setvariable_global_existsvariable_global_getvariable_global_setvariable_local_array_getvariable_local_array_setvariable_local_array2_getvariable_local_array2_setvariable_local_existsvariable_local_getvariable_local_setI need to set/get a function variable whose name varies by the works of a string. For example:var_+"argument0" = 0;The above could be done with: variable_local_set(var_+"argument0",0); Now that the function no longer works, I'm unsure as to how I would do this now. One does not simply put var_+"argument0" = 0; and expect anything else other than an error message. Any ideas?List of all functions removed from GM:Studio:
TriggersRegistry Functionsregistry_existsregistry_exists_extregistry_read_realregistry_read_real_extregistry_read_stringregistry_read_string_extregistry_set_rootregistry_write_realregistry_write_real_extregistry_write_stringregistry_write_string_extCD Functionscd_close_doorcd_initcd_lengthcd_numbercd_open_doorcd_pausecd_pausedcd_playcd_playingcd_positioncd_presentcd_resumecd_set_positioncd_set_track_positioncd_stopcd_trackcd_track_lengthcd_track_positionMCI_commandDisplay Functionsdisplay_set_alldisplay_set_colordepthdisplay_set_frequencydisplay_set_sizedisplay_test_allscreen_refreshscreen_wait_vsyncset_automatic_drawset_synchronizationSplash Functionsload_infoshow_infosplash_set_adaptsplash_set_bordersplash_set_captionsplash_set_close_buttonsplash_set_colorsplash_set_cursorsplash_set_fullscreensplash_set_interruptsplash_set_mainsplash_set_positionsplash_set_scalesplash_set_sizesplash_set_stop_keysplash_set_stop_mousesplash_set_topsplash_show_imagesplash_show_textsplash_show_videosplash_show_webParticle Functionspart_attractor_clearpart_attractor_createpart_attractor_destroypart_attractor_destroy_allpart_attractor_existspart_attractor_forcepart_attractor_positionpart_changer_clearpart_changer_createpart_changer_destroypart_changer_destroy_allpart_changer_existspart_changer_kindpart_changer_regionpart_changer_typespart_deflector_clearpart_deflector_createpart_deflector_destroypart_deflector_destroy_allpart_deflector_existspart_deflector_frictionpart_deflector_kindpart_deflector_regionpart_destroyer_clearpart_destroyer_createpart_destroyer_destroypart_destroyer_destroy_allpart_destroyer_existspart_destroyer_regionSound Functionsse_chorusse_compressorse_echose_equalizerse_flangerse_garglese_nonese_reverbsound_3d_set_sound_conesound_3d_set_sound_distancesound_3d_set_sound_positionsound_3d_set_sound_velocitysound_background_temposound_discardsound_effect_chorussound_effect_compressorsound_effect_echosound_effect_equalizersound_effect_flangersound_effect_garglesound_effect_reverbsound_effect_setsound_get_preloadsound_restoresound_set_search_directorymPlay Functionsmplay_connect_statusmplay_data_modemplay_data_readmplay_data_writemplay_endmplay_init_ipxmplay_init_modemmplay_init_serialmplay_init_tcpipmplay_ipaddressmplay_message_clearmplay_message_countmplay_message_idmplay_message_namemplay_message_playermplay_message_receivemplay_message_sendmplay_message_send_guaranteedmplay_message_valuemplay_player_findmplay_player_idmplay_player_namemplay_session_createmplay_session_endmplay_session_findmplay_session_joinmplay_session_modemplay_session_namemplay_session_statusMessage Functionstext_type button_type input_type caption_healthcaption_livescaption_scoreget_colorget_directoryget_directory_altget_open_filenameget_save_filenamehighscore_set_backgroundhighscore_set_borderhighscore_set_colorshighscore_set_fonthighscore_set_stringshighscore_showhighscore_show_extmessage_alphamessage_backgroundmessage_buttonmessage_button_fontmessage_captionmessage_input_colormessage_input_fontmessage_mouse_colormessage_positionmessage_sizemessage_text_charsetmessage_text_fontshow_healthshow_livesshow_menushow_menu_posshow_message_extshow_scoreDynamic Functionsexecute_stringobject_addobject_deleteobject_event_addobject_event_clearroom_set_codescript_get_textvariable_global_array_getvariable_global_array_setvariable_global_array2_getvariable_global_array2_setvariable_global_existsvariable_global_getvariable_global_setvariable_local_array_getvariable_local_array_setvariable_local_array2_getvariable_local_array2_setvariable_local_existsvariable_local_getvariable_local_setTransition Functionstransition_definetransition_existstransition_kindtransition_stepsMiscellaneous Functionsdiscard_include_fileerror_lasterror_occurredexport_include_fileexport_include_file_locationgamemaker_progamemaker_registeredgamemaker_versionsecure_modeset_application_titleset_program_prioritysleep
Obligatory: GM Studio blows.
Seriousface: I'll have a look through the manual, see what I can find.You should see the list of functions that no longer exist in gm. It's a long list.
It is, isn't it… Also, I can't find a manual for GMS anywhere and the official documentation on the site is virtually unusable. What the flying fuck are YYG playing at? I'm glad I've never given any money to those cretins.
Were there just as many added though?
Ok - looking through the depreciated functions list, it's clear they've taken out a lot of the interpreted code functionality from GM so that the programs are a) faster b) more portable and c) smaller. I don't think you're going to succeed with your current approach. Might I suggest you use a big-ass array to store your data and then use argument0 as an index.
That seems like an extremely large number of regressions.
ds_map, you can store keys that lead to values.
GM's data structures are piss poor. Thats my 2 cents. Other than that fact, use ds_map regardless.
(Better yet, use a real language.)