Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

GMLive.gml

Livecoding for GameMaker: Studio / GameMaker Studio 2 · By YellowAfterlife

Steam/UGC functions are all missing...?

A topic by Bulletproof Outlaws created Feb 22, 2022 Views: 1,302 Replies: 20
Viewing posts 1 to 8
(1 edit)

Haven't installed GMLive in a while but needed to install it today and in GMS2 Beta (IDE v2022.200.0.0475 and Runtime v2022.200.0.452) it looks like some update by YoYo may have broken some stuff lol

Reproduction steps:

1) Start a new project

2) Tools->Import Local Package

3) Drop obj_gmlive in a room

4) Compile and witness these in the Output window:

Function missing: steam_activate_overlay
Function missing: steam_is_overlay_enabled
Function missing: steam_is_overlay_activated
Function missing: steam_get_persona_name
Function missing: steam_initialised
Function missing: steam_is_cloud_enabled_for_app
Function missing: steam_is_cloud_enabled_for_account
Function missing: steam_file_persisted
Function missing: steam_get_quota_total
Function missing: steam_get_quota_free
Function missing: steam_file_write
Function missing: steam_file_write_file
Function missing: steam_file_read
Function missing: steam_file_delete
Function missing: steam_file_exists
Function missing: steam_file_size
Function missing: steam_file_share
Function missing: steam_is_screenshot_requested
Function missing: steam_send_screenshot
Function missing: steam_is_user_logged_on
Function missing: steam_get_user_steam_id
Function missing: steam_user_owns_dlc
Function missing: steam_user_installed_dlc
Function missing: steam_set_achievement
Function missing: steam_get_achievement
Function missing: steam_clear_achievement
Function missing: steam_set_stat_int
Function missing: steam_set_stat_float
Function missing: steam_set_stat_avg_rate
Function missing: steam_get_stat_int
Function missing: steam_get_stat_float
Function missing: steam_get_stat_avg_rate
Function missing: steam_reset_all_stats
Function missing: steam_reset_all_stats_achievements
Function missing: steam_stats_ready
Function missing: steam_create_leaderboard
Function missing: steam_upload_score
Function missing: steam_upload_score_ext
Function missing: steam_download_scores_around_user
Function missing: steam_download_scores
Function missing: steam_download_friends_scores
Function missing: steam_upload_score_buffer
Function missing: steam_upload_score_buffer_ext
Function missing: steam_current_game_language
Function missing: steam_available_languages
Function missing: steam_activate_overlay_browser
Function missing: steam_activate_overlay_user
Function missing: steam_activate_overlay_store
Function missing: steam_get_user_persona_name
Function missing: steam_get_app_id
Function missing: steam_get_user_account_id
Function missing: steam_ugc_download
Function missing: steam_ugc_create_item
Function missing: steam_ugc_start_item_update
Function missing: steam_ugc_set_item_title
Function missing: steam_ugc_set_item_description
Function missing: steam_ugc_set_item_visibility
Function missing: steam_ugc_set_item_tags
Function missing: steam_ugc_set_item_content
Function missing: steam_ugc_set_item_preview
Function missing: steam_ugc_submit_item_update
Function missing: steam_ugc_get_item_update_progress
Function missing: steam_ugc_subscribe_item
Function missing: steam_ugc_unsubscribe_item
Function missing: steam_ugc_num_subscribed_items
Function missing: steam_ugc_get_subscribed_items
Function missing: steam_ugc_get_item_install_info
Function missing: steam_ugc_get_item_update_info
Function missing: steam_ugc_request_item_details
Function missing: steam_ugc_create_query_user
Function missing: steam_ugc_create_query_user_ex
Function missing: steam_ugc_create_query_all
Function missing: steam_ugc_create_query_all_ex
Function missing: steam_ugc_query_set_cloud_filename_filter
Function missing: steam_ugc_query_set_match_any_tag
Function missing: steam_ugc_query_set_search_text
Function missing: steam_ugc_query_set_ranked_by_trend_days
Function missing: steam_ugc_query_add_required_tag
Function missing: steam_ugc_query_add_excluded_tag
Function missing: steam_ugc_query_set_return_long_description
Function missing: steam_ugc_query_set_return_total_only
Function missing: steam_ugc_query_set_allow_cached_response
Function missing: steam_ugc_send_query

5) And then a crash during compile (note that the "Function missing" list above is different from the crashing function here:

___________________________________________
############################################################################################
ERROR in
action number 1
of Create Event
for object <undefined>:
Variable <unknown_object>.ugc_match_ControllerBindings(100558, -2147483648) not set before reading it.
 at gml_Script_live_preinit_init_consts (line 68) -        l_gmlConstValues=[undefined,pointer_invalid,pointer_null,path_action_stop,path_action_restart,path_action_continue,path_action_reverse,pi,NaN,infinity,GM_build_date,GM_version,GM_runtime_version,timezone_local,timezone_utc,gamespeed_fps,gamespeed_microse
############################################################################################
gml_Script_live_preinit_init_consts (line 68)
gml_Script_live_preinit_api (line 375) -               live_preinit_init_consts();
gml_GlobalScript_GMLive (line 2069) -        live_preinit_api();

6) If I add a line like this based on another post I saw:

#macro ugc_match_ControllerBindings undefined

...then that error clears, but it just goes to the next ugc_match_* function, and then through all the other ugc_* ones. So I made macros for ALL the ugc_* functions incase it's just related to that, and then I got this crash:

___________________________________________
############################################################################################
ERROR in
action number 1
of Create Event
for object <undefined>:
Variable <unknown_object>.lb_disp_time_ms(100558, -2147483648) not set before reading it.
 at gml_Script_live_preinit_init_consts (line 68) -        l_gmlConstValues=[undefined,pointer_invalid,pointer_null,path_action_stop,path_action_restart,path_action_continue,path_action_reverse,pi,NaN,infinity,GM_build_date,GM_version,GM_runtime_version,timezone_local,timezone_utc,gamespeed_fps,gamespeed_microse
############################################################################################
gml_Script_live_preinit_init_consts (line 68)
gml_Script_live_preinit_api (line 375) -               live_preinit_init_consts();
gml_GlobalScript_GMLive (line 2069) -        live_preinit_api();

...and gave up trying to fix it myself lol

Any thoughts?

Developer

lb_disp_time_ms is also from now-removed Steam functions - you can copy all of these from 2.3.x fnames file.

(+1)

Could you explain this fix a bit more please? I've been using GMlLive for quite some time now and it's the first time it's thrown an error. 

Thanks!

I'm having the same problem it seems. Have you had any luck? It's kind of sad how much i've come to rely on this extension and how little I get done without it.

By updating to the latest 2022.2 version, I started having the same problem.

(+4)

We will need to wait a little longer for a fix, as YellowAfterlife got more important things to do for few next days, cause of some 70yo prick who decided to ruin whole world.

I didn't know he is Ukrainian. I really wish everyone over there to manage to get into safety!

(+7)

Since we cannot re-distribute GMLive source code, but fixing for 2022.2 only requires to remove list of outdated GML functions (so that part can be shared), I’ve prepared a .patch file (which can be applied using git, or by copy-pasting without +/- characters in first column) which fixes GMLive for 2022.2 release.

You can get it here:

https://gist.github.com/gnysek/23e3b3c1d082fe7ffe0c6b734617599f

(+1)

Thanks a lot! It worked!

(+2)

To anyone that might interested, provided that you already have git installed, download the GMLive_2022.2.patch and copy it to the root of your project (you can find it by open it in GMS and at menu: Help -> Open Project In Explorer). Then in the root of project directory write the command (via command prompt,  powershell, terminal etc):

git apply GMLive_2022.2.patch

Thanks a alot @gnysek for the patch!

(+1)

Thanks a ton! This fixed it for me as well :)

(+1)

Thanks very much for this, I couldn't get the patch to apply (I don't use git often so definitely my inexperience) but manually updating the file worked perfectly. Really appreciated!

(+1)

Thank you very much for this patch!    

(+1)

Not having any luck trying to apply the git patch. I just get the following error:

error: scripts/GMLiveAPI/GMLiveAPI.gml: patch does not apply

I've had a look at doing it manually but I'm not happy doing that as the raw data looks a lot more than what the lines look like when you look at the patch data to try and amend the right lines.

Can someone supply a fixed GMLiveAPI file so a simple cut and paste could be done within GMS 2 itself?

Thanks.

(+3)

I'll run you through it, it's super easy to do it manually and just worked for me (thanks gnysek & yellow!):

  1. Open https://gist.github.com/gnysek/23e3b3c1d082fe7ffe0c6b734617599f in a browser window
  2. Open \scripts\GMLiveAPI\GMLiveAPI.gml from your project's directory in a text editor
  3. Grab line 12 from the patch (except for the + sign at the start) and replace line 23 in in the gml file with it
  4. Grab line 21 from the patch (except for the + sign at the start) and replace line 60 in the gml file with it
  5. Grab lines 30 and 31 from the patch (except for the + sign at the start) and replace lines 67 and 68 with them respectively

Save it and you're done! Good luck!

(+1)

Might be a mac thing but patching with git didn't work :(
Manually replacing the lines worked though! Thanks!

(1 edit) (+1)

Download the GMLive_2022.2.patch and copy it to the root of your project (you can find the root of your project easily->  in GMS go at menu: Help -> Open Project In Explorer). Then in the root of project directory write the command (via command prompt,  powershell, terminal etc):

git apply GMLive_2022.2.patch
(+1)

I did exactly the same thing trying to apply the patch as you described but I gave it another go anyway and still got the same error message. 

Then I tried doing the editing from the patch lines as Bulletproof Outlaws suggested and, after realising textedit on Mac doesn't work very well with code lines that long, I downloaded and did the cut/paste with Atom instead. Now I am up and running again finally.

Much appreciated to both of you for trying to help me out here. I don't have much hair left to pull out :-)

it might crash, if you try to apply it on different version, or applied any change on original files

Was getting the same error. Running "git apply --reject --whitespace=fix GMLive_2022.2.patch" worked for me.

Lol, I finally made time to apply this fix manually… only to find that GMS2 market place is now working as expected. Thanks everyone!