• Hello [name]! Thanks for joining the GMC. Before making any posts in the Tech Support forum, can we suggest you read the forum rules? These are simple guidelines that we ask you to follow so that you can get the best help possible for your issue.

Windows DLL's Crashing When More than 4 Vars are used

T

The Sivart

Guest
In the Game maker help file:
"Finally you must give the number arguments that the function can take (from 0 to 15) and for each of the arguments you must specify its type too. Please note that for functions with 4 or more arguments, all of them must be of type ty_real. "
When doing this now, projects that used to work don't anymore. Example of an error line:

global.p3dc_bs3 = external_define(n,"bs3",dll_cdecl,ty_real,6,ty_real,ty_real,ty_real,ty_real,ty_real,ty_real);

Now, according to the help file this should not return an error. But it does and it never used to. Here is an example of a line in the same script that does not return an error:
global.p3dc_obd = external_define(n,"obd",dll_cdecl,ty_real,2,ty_real,ty_real);

Because of this my conclusion is that GMS is stopping me from using more than 4 vars in a DLL call. I would like this fixed because my whole game is broken if this does not work.
 

rwkay

GameMaker Staff
GameMaker Dev.
This is fixed internally (the current Early Access version should have this already) we are now (that GMS2 Mac IDE is out into closed beta) testing a new version for 1.x, we will have a new Early Access soon, switfly followed by a Beta (and hopefully stable soon after that)

Russell
 

YellowAfterlife

ᴏɴʟɪɴᴇ ᴍᴜʟᴛɪᴘʟᴀʏᴇʀ
Forum Staff
Moderator
@rwkay Why hasn't this pushed to the normal release? I have the GameMaker: Studio Standard license which does not allow my to get the Early Access version ( stated: https://help.yoyogames.com/hc/en-us/articles/216753788-Updating-GameMaker-Studio ). My current version: 1.4.1763. Or can I download somewhere a version which does with passing more than 4 arguments work?
1763 is from October 2016, so you'll have to wait. Or split the function into multiple (each of which wouldn't go past 4 arguments) for now. Or pass arguments via a buffer.
 

Aragon

Member
1763 is from October 2016, so you'll have to wait. Or split the function into multiple (each of which wouldn't go past 4 arguments) for now. Or pass arguments via a buffer.
Thanks for answering, still weird it takes such a long time. Do other licenses get the upgrades earlier? I have no choice to but splitting up the functions. Passing arguments via buffers is pretty new to me, might worth a shot trying to understand :)
 
Top