Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

APurpleApple

2
Posts
1
Topics
A member registered Jun 13, 2020 · View creator page →

Recent community posts

Well it definitely does not work on my side and on several other computer. If you don't mind, could you tell me what version of Gamemaker you are running ?
You can try to tweak the amount of iterations in each loops, it tends to change the outcome. Also most of the time it just fails silently and keeps running without finishing the loop.

(1 edit)

Hi, i've already sent you a mail about this a few weeks ago but it seems that you're more active around here

Calling functions on a state while a child thread state is running a coroutine seems to break it. My current workaround is to duplicate every operation i do to another state, which i then exclusively use to branch thread states out of. This is obviously not ideal, and poses all sort of other logistical issues.

Is this a limitation of the current version ? The in-dev one mentions coroutines as being wip, do you have a time estimate on the feature's release ?

The issue can be easily reproduced on a blank project using the following code :

state = lua_state_create()
lua_add_code(state, @"   function test(num)
       for i = 1, num do
             coroutine.yield(i)
        end
    end
    function disrupt()
    end
");
th = lua_thread_create(state);
if (lua_call_start(th, "test", 10)) {
    while (lua_call_next(th)) {
        show_debug_message("yield: " + string(lua_call_result));
        for (var i = 0; i < 5; i++)
        {
             lua_call(state, "disrupt")
         }
    }
    show_debug_message("result: " + string(lua_call_result));
}

Thanks for your time.