Asset - Extension Arduino DLL

A

Ashley James Brown

Guest
Does anyone know if this can work with mac version of gamemaker and if not... will i have to create my own new extension. ?

reason: I want to be able to send some data from the game in gamemaker to my arduino for some physical outputs.
 

Buff

Member
Does anyone know if this can work with mac version of gamemaker and if not... will i have to create my own new extension. ?

reason: I want to be able to send some data from the game in gamemaker to my arduino for some physical outputs.
This extension will not work on Mac, it is for Windows only. You'd have to create a new Mac extension if you want to talk to an Arduino on Mac.
 

Kyon

Member
Arduino now a days can setup as a gamepad, and GMS2 recognizes that.
(I believe you have to set the output to something like "Keyboard + Mouse + Gamepad + Serial")

I did it a while a go, made a "controller" out of 3 sonar sensors, made a little algoritmic sound-game in it. Here is a video:
 
A

Ashley James Brown

Guest
Arduino now a days can setup as a gamepad, and GMS2 recognizes that.
(I believe you have to set the output to something like "Keyboard + Mouse + Gamepad + Serial")

I did it a while a go, made a "controller" out of 3 sonar sensors, made a little algoritmic sound-game in it. Here is a video:

yes it can. using an arduino for INPUT to gms2 is easy. Im already doign that no problem.
I want to OUTPUT to arduino to a specific set of hardware.

Not to worry. Ill build the extension myself and then chuck it up for others.

If i cant be bothered ill use the shell extension to execute a mini executable app that i can code in processing that will talk to the arduino instead. bit long winded but will work.
 
A

Ashley James Brown

Guest
This extension will not work on Mac, it is for Windows only. You'd have to create a new Mac extension if you want to talk to an Arduino on Mac.
OK ill see if I have time/inclination to do this if my other solution doesn't work. Cheers
 
A

Ashley James Brown

Guest
Arduino now a days can setup as a gamepad, and GMS2 recognizes that.
(I believe you have to set the output to something like "Keyboard + Mouse + Gamepad + Serial")

I did it a while a go, made a "controller" out of 3 sonar sensors, made a little algoritmic sound-game in it. Here is a video:
btw - thats lovely :)
 
J

Jacob Conway

Guest
Hello Buff! is the Arduino DLL incompatible with GMS:2? I have attempted to use it with now luck.
 
L

LilRony

Guest
Hi, I'm working with an Arduino Leonardo and I'm trying to simply write a bitstring (eg "011") to the arduino, and use that string to turn on lights 0-2.
But I can't seem to get a connection with arduino_create(). When I exit out of the game, the compile window says "ERROR!!!Compile finished ..."

Do you know if this extension works with the Leonardo chip? My suspicion is that it doesn't, because I didn't have very hard of a time with my Uno.
 

ID3

Member
yes it can. using an arduino for INPUT to gms2 is easy. Im already doign that no problem.
Please, can You tell me what exactly You did in game maker to receive it? I have a project stuck, and trying to get a variable from Arduino. This would help a lot.
I guess I'm not experienced enough at the moment with extensions or other (than GML) languages. Or is it something you do on Arduino and GM:S2 gets it with gamepad commands?

Thank You!
 
L

loktar_o_gar

Guest
Hello everyone! Can someone explain how to use it now? I would like a description of the functions.

I can’t even get connected to the arduino. The connection id is always -1. Port and baud are specified correctly.
 
L

loktar_o_gar

Guest
Partially solved the problem. The port was occupied by the console from the Arduino IDE. But who can write detailed instructions on how to use the functions?
 
N

Ninnin

Guest
@loktar_o_gar : You've got an exemple in GM8 you can import to GM:S 2 and see how it works, it's very simple.
@Buff: In GM:S 2, when i want to use arduino_delete(ard); in the exemple in the zip file, in an alarm set at 5 seconds, on an open and valid COM port, the game crash with no compil error, only this in "output" window:
X://windows/Runner.exe exited with non-zero status (-1073741819)

No other messages and this is only when i want to use this precise function (arduino_delete).
 
N

Ninnin

Guest
Hi. Is there a bug inside this asset ? I could access fine from com 1 to com 7/8, but if i try to connect to com 11 and + there's no connexion. Only an error:
"ERROR: Handle was not attached. Reason: com12 not available."
"ERROR: Handle was not attached. Reason: com13 not available."
"ERROR: Handle was not attached. Reason: com14 not available."
"ERROR: Handle was not attached. Reason: com15 not available."
etc.....

I just want to precise that the com port are valids and works great with a serial monitor on it, and i don't connect serial monitor when i try to connect with GM:S 2.
 
Hopefully this is not necroposting, but is this still compatible with GMS2, or do i need to use GM8 and then port it to GMS2?
Also, this tool seems very helpful for a robotics project i'm making haha
 

SCR

Member
First of all, a big thanks to Buff for setting-up and sharing this asset.

I have been working through how to eliminate or minimize some of the "garbage" that sometimes comes through. What seems to work well is to use the 'arduino_read' function to only read one character at a time, and use a 'while' statement to cycle through all of the available characters that have been sent. Note that sometimes the received data has some additional characters on the tail end, so I just cut them off using 'string_copy' to make sure that I only copy and save the first character of the text string that was received. Here's the code:

Code:
//CREATE EVENT:
ard = arduino_create("COM3", 9600) ;   //You will need to verify the correct COM# for your connection
data = "";
char_count = 0;

//STEP EVENT:
var txt = arduino_read(ard,1);
while txt != "" {
    data += string_copy(txt, 1, 1);
    char_count +=1;
    txt = arduino_read(ard,1);
}

DRAW EVENT:
draw_set_color(c_white);
draw_text(0, 0, "Arduino   : " + string(ard));
draw_text(0, 25,"Char Count: " + string(char_count));
draw_text(0, 75,"Data returned from Arduino: ")
draw_set_color(c_yellow);
draw_text(0, 100, data);
In this example, the Arduino was running a temperature datalogging program that was echoing the information to the serial port connection (and into the GMS program). Using the code above, I'm not seeing garbage come through:

Capture.PNG
 

SCR

Member
To those whom it may concern, I compiled the DLL for x64 and added some functions for reading/writing data types like you might with buffers these days


Very appreciated!!! Do you mind mentioning this in the Marketplace, or updating the asset with the GMS2.3 version?
 

YellowAfterlife

ᴏɴʟɪɴᴇ ᴍᴜʟᴛɪᴘʟᴀʏᴇʀ
Forum Staff
Moderator
Very appreciated!!! Do you mind mentioning this in the Marketplace, or updating the asset with the GMS2.3 version?
That would be a task for Buff - obviously I'm not the author of the marketplace package
 

SCR

Member
Here's a link to something that I have been working on (still work in progress) that uses the Arduino.DLL to control the LED light strip to illuminate the keys that are being pressed. I'm also using the GMSSimpleMIDI asset to read the notes played on an e-piano, using GMS to display the notes and waves, and also OBS Studio to record the video of playing the piano.

 

Buff

Member
Thank you for doing this @YellowAfterlife. I have been away from Game Maker for quite a while and this was a much needed update. My original source code is public domain, you are free to do what you like with your updated version. If you wish to, you can make a new marketplace asset or relicense your updated code.
 
I love this project.

I get an error when trying to run the exemple in GM S2 though.
This is it for the error:
"FAILED: Run Program Complete"

Compile Errors are empty.

Game maker studio 1 example works fine.

Anyone got any pointers or clues?

Im about to install a big showcasing next week and im all out of leads to solve this.

LOG:
"C:\ProgramData/GameMakerStudio2/Cache/runtimes\runtime-2023.11.0.157/bin/igor/windows/x64/Igor.exe" -j=8 -options="C:\Users\Jon\AppData\Local\GameMakerStudio2\GMS2TEMP\build.bff" -v -- Windows Run

Loaded Macros from C:\Users\Jon\AppData\Roaming\GameMakerStudio2\Cache\GMS2CACHE\Arduino_23_6C9084EF\macros.json
Options: C:\ProgramData/GameMakerStudio2/Cache/runtimes\runtime-2023.11.0.157\bin\platform_setting_defaults.json
Options: C:\Users\Jon\AppData\Roaming/GameMakerStudio2\jon.nystrom_648173\local_settings.json
Options: C:\Users\Jon\AppData\Roaming\GameMakerStudio2\Cache\GMS2CACHE\Arduino_23_6C9084EF\targetoptions.json
Setting up the Asset compiler
C:\ProgramData/GameMakerStudio2/Cache/runtimes\runtime-2023.11.0.157/bin/assetcompiler/windows/x64/GMAssetCompiler.dll /c /mv=1 /zpex /iv=0 /rv=0 /bv=0 /j=8 /gn="Arduino_23" /td="C:\Users\Jon\AppData\Local\GameMakerStudio2\GMS2TEMP" /cd="C:\Users\Jon\AppData\Roaming\GameMakerStudio2\Cache\GMS2CACHE\Arduino_23_6C9084EF" /rtp="C:\ProgramData/GameMakerStudio2/Cache/runtimes\runtime-2023.11.0.157" /zpuf="C:\Users\Jon\AppData\Roaming/GameMakerStudio2\jon.nystrom_648173" /ffe="d3t+fjZrf25zeTdwgjZ5em98a3GCN4ODbTZzeH5vdnZzfW94fW82eH92dnN9cjZ2eXFzeGl9fXk2fm99fjZtf31+eXdpb3iANnBzdn41cII2cYJpd3luaYFrdnZ6a3pvfDZxgml3eW5pcWt3b31+fHN6NnZzgG9pgWt2dnprem98aX1/bH1tfHN6fnN5eA==" /m=windows /tgt=64 /nodnd /cfg="Default" /o="C:\Users\Jon\AppData\Local\GameMakerStudio2\GMS2TEMP\Arduino_23_62ABC544_VM" /sh=True /optionsini="C:\Users\Jon\AppData\Local\GameMakerStudio2\GMS2TEMP\Arduino_23_62ABC544_VM\options.ini" /cvm /baseproject="C:\ProgramData/GameMakerStudio2/Cache/runtimes\runtime-2023.11.0.157\BaseProject\BaseProject.yyp"
"C:\Users\Jon\Downloads\ta bort\Arduino-main\Arduino_23\Arduino_23.yyp" /preprocess="C:\Users\Jon\AppData\Roaming\GameMakerStudio2\Cache\GMS2CACHE\Arduino_23_6C9084EF"
Found Project Format 2
C:/Users/Jon/Downloads/ta bort/Arduino-main/Arduino_23/extensions/Arduino/Arduino.yy: C:/Users/Jon/Downloads/ta bort/Arduino-main/Arduino_23/extensions/Arduino/Arduino.yy(21,70): GMSC Error: Unexpected JSON property 'name'.
+++ ORIGINAL SERIALISATION SUCCESSFUL LOAD AND LINK TIME: 900.5092ms
Loaded Project: Arduino_23
finished.
Found Project Format 2
+++ FAST SERIALISATION SUCCESSFUL LOAD AND LINK TIME (with worker concurrency 8): 70.4138ms
Loaded Project: __yy_sdf_shader
finished.
Found Project Format 2
+++ FAST SERIALISATION SUCCESSFUL LOAD AND LINK TIME (with worker concurrency 8): 45.0113ms
Loaded Project: __yy_sdf_effect_shader
finished.
Found Project Format 2
+++ FAST SERIALISATION SUCCESSFUL LOAD AND LINK TIME (with worker concurrency 8): 32.7142ms
Loaded Project: __yy_sdf_blur_shader
finished.
Found Project Format 2
+++ FAST SERIALISATION SUCCESSFUL LOAD AND LINK TIME (with worker concurrency 8): 126.7824ms
Loaded Project: GMPresetParticles
finished.
Release build
Options: C:\Users\Jon\AppData\Roaming\GameMakerStudio2\Cache\GMS2CACHE\Arduino_23_6C9084EF\ExtensionOptions.json
OptionsIni
Options: C:\Users\Jon\AppData\Roaming\GameMakerStudio2\Cache\GMS2CACHE\Arduino_23_6C9084EF\PlatformOptions.json
[Compile] Run asset compiler
C:\ProgramData/GameMakerStudio2/Cache/runtimes\runtime-2023.11.0.157/bin/assetcompiler/windows/x64/GMAssetCompiler.dll /c /mv=1 /zpex /iv=0 /rv=0 /bv=0 /j=8 /gn="Arduino_23" /td="C:\Users\Jon\AppData\Local\GameMakerStudio2\GMS2TEMP" /cd="C:\Users\Jon\AppData\Roaming\GameMakerStudio2\Cache\GMS2CACHE\Arduino_23_6C9084EF" /rtp="C:\ProgramData/GameMakerStudio2/Cache/runtimes\runtime-2023.11.0.157" /zpuf="C:\Users\Jon\AppData\Roaming/GameMakerStudio2\jon.nystrom_648173" /ffe="d3t+fjZrf25zeTdwgjZ5em98a3GCN4ODbTZzeH5vdnZzfW94fW82eH92dnN9cjZ2eXFzeGl9fXk2fm99fjZtf31+eXdpb3iANnBzdn41cII2cYJpd3luaYFrdnZ6a3pvfDZxgml3eW5pcWt3b31+fHN6NnZzgG9pgWt2dnprem98aX1/bH1tfHN6fnN5eA==" /m=windows /tgt=64 /nodnd /cfg="Default" /o="C:\Users\Jon\AppData\Local\GameMakerStudio2\GMS2TEMP\Arduino_23_62ABC544_VM" /sh=True /optionsini="C:\Users\Jon\AppData\Local\GameMakerStudio2\GMS2TEMP\Arduino_23_62ABC544_VM\options.ini" /cvm /baseproject="C:\ProgramData/GameMakerStudio2/Cache/runtimes\runtime-2023.11.0.157\BaseProject\BaseProject.yyp"
"C:\Users\Jon\Downloads\ta bort\Arduino-main\Arduino_23\Arduino_23.yyp" /debug /bt=run /rt=vm /64bitgame=true
Looking for built-in fallback image in C:\ProgramData/GameMakerStudio2/Cache/runtimes\runtime-2023.11.0.157\bin\BuiltinImages
Compile Constants...finished.
Remove DnD...finished.
Compile Scripts...finished.
Compile Rooms...finished..... 0 CC empty
Compile Objects...finished.... 0 empty events
Compile Timelines...finished.
Compile Triggers...finished.
Compile Extensions...finished.
Global scripts...finished.
finished.
collapsing enums.
Final Compile...finished.
Saving IFF file... C:\Users\Jon\AppData\Local\GameMakerStudio2\GMS2TEMP\Arduino_23_62ABC544_VM\Arduino_23.win
Writing Chunk... GEN8 size ... -0.00 MB
option_game_speed=30
Writing Chunk... OPTN size ... 0.00 MB
Writing Chunk... LANG size ... 0.00 MB
Writing Chunk... EXTN size ... 0.00 MB
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
---> System.ArgumentNullException: Value cannot be null. (Parameter 'path1')
at System.IO.Path.Combine(String path1, String path2)
at GMAssetCompiler.WADSaver`1.WriteExtensions(IList`1 _data, Stream _s, IFF _iff)
at GMAssetCompiler.IFFChunkHandler`1.Save(Stream _stream, IFF _iff)
at GMAssetCompiler.IFF.WriteChunks(Stream _stream, TextWriter _out)
at GMAssetCompiler.WADSaver`1.Save(GMAssets _assets, Stream _stream, List`1 _extraFilenames, Dictionary`2 _extraAttributes)
at GMAssetCompiler.IFFSaver.Save(GMAssets _assets, String _name)
at GMAssetCompiler.Program.CompileProject(GMAssets _file)
at GMAssetCompiler.Program.Reentry(String[] _args)
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Span`1& arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
at Igor.Program.ExecuteAssetCompiler(String _args)
at Igor.WindowsBuilder.Compile(Boolean _exe)
at Igor.WindowsBuilder.Deploy(Boolean _exe)
at Igor.WindowsBuilder.Run()
Igor complete.
elapsed time 00:00:02.9689371s for command "C:\ProgramData/GameMakerStudio2/Cache/runtimes\runtime-2023.11.0.157/bin/igor/windows/x64/Igor.exe" -j=8 -options="C:\Users\Jon\AppData\Local\GameMakerStudio2\GMS2TEMP\build.bff" -v -- Windows Run started at 12/14/2023 20:08:31
FAILED: Run Program Complete
For the details of why this build failed, please review the whole log above and also see your Compile Errors window.
 

Buff

Member
I love this project.

I get an error when trying to run the exemple in GM S2 though.
This is it for the error:
"FAILED: Run Program Complete"

Compile Errors are empty.

Game maker studio 1 example works fine.

Anyone got any pointers or clues?

Im about to install a big showcasing next week and im all out of leads to solve this.

LOG:
"C:\ProgramData/GameMakerStudio2/Cache/runtimes\runtime-2023.11.0.157/bin/igor/windows/x64/Igor.exe" -j=8 -options="C:\Users\Jon\AppData\Local\GameMakerStudio2\GMS2TEMP\build.bff" -v -- Windows Run

Loaded Macros from C:\Users\Jon\AppData\Roaming\GameMakerStudio2\Cache\GMS2CACHE\Arduino_23_6C9084EF\macros.json
Options: C:\ProgramData/GameMakerStudio2/Cache/runtimes\runtime-2023.11.0.157\bin\platform_setting_defaults.json
Options: C:\Users\Jon\AppData\Roaming/GameMakerStudio2\jon.nystrom_648173\local_settings.json
Options: C:\Users\Jon\AppData\Roaming\GameMakerStudio2\Cache\GMS2CACHE\Arduino_23_6C9084EF\targetoptions.json
Setting up the Asset compiler
C:\ProgramData/GameMakerStudio2/Cache/runtimes\runtime-2023.11.0.157/bin/assetcompiler/windows/x64/GMAssetCompiler.dll /c /mv=1 /zpex /iv=0 /rv=0 /bv=0 /j=8 /gn="Arduino_23" /td="C:\Users\Jon\AppData\Local\GameMakerStudio2\GMS2TEMP" /cd="C:\Users\Jon\AppData\Roaming\GameMakerStudio2\Cache\GMS2CACHE\Arduino_23_6C9084EF" /rtp="C:\ProgramData/GameMakerStudio2/Cache/runtimes\runtime-2023.11.0.157" /zpuf="C:\Users\Jon\AppData\Roaming/GameMakerStudio2\jon.nystrom_648173" /ffe="d3t+fjZrf25zeTdwgjZ5em98a3GCN4ODbTZzeH5vdnZzfW94fW82eH92dnN9cjZ2eXFzeGl9fXk2fm99fjZtf31+eXdpb3iANnBzdn41cII2cYJpd3luaYFrdnZ6a3pvfDZxgml3eW5pcWt3b31+fHN6NnZzgG9pgWt2dnprem98aX1/bH1tfHN6fnN5eA==" /m=windows /tgt=64 /nodnd /cfg="Default" /o="C:\Users\Jon\AppData\Local\GameMakerStudio2\GMS2TEMP\Arduino_23_62ABC544_VM" /sh=True /optionsini="C:\Users\Jon\AppData\Local\GameMakerStudio2\GMS2TEMP\Arduino_23_62ABC544_VM\options.ini" /cvm /baseproject="C:\ProgramData/GameMakerStudio2/Cache/runtimes\runtime-2023.11.0.157\BaseProject\BaseProject.yyp"
"C:\Users\Jon\Downloads\ta bort\Arduino-main\Arduino_23\Arduino_23.yyp" /preprocess="C:\Users\Jon\AppData\Roaming\GameMakerStudio2\Cache\GMS2CACHE\Arduino_23_6C9084EF"
Found Project Format 2
C:/Users/Jon/Downloads/ta bort/Arduino-main/Arduino_23/extensions/Arduino/Arduino.yy: C:/Users/Jon/Downloads/ta bort/Arduino-main/Arduino_23/extensions/Arduino/Arduino.yy(21,70): GMSC Error: Unexpected JSON property 'name'.
+++ ORIGINAL SERIALISATION SUCCESSFUL LOAD AND LINK TIME: 900.5092ms
Loaded Project: Arduino_23
finished.
Found Project Format 2
+++ FAST SERIALISATION SUCCESSFUL LOAD AND LINK TIME (with worker concurrency 8): 70.4138ms
Loaded Project: __yy_sdf_shader
finished.
Found Project Format 2
+++ FAST SERIALISATION SUCCESSFUL LOAD AND LINK TIME (with worker concurrency 8): 45.0113ms
Loaded Project: __yy_sdf_effect_shader
finished.
Found Project Format 2
+++ FAST SERIALISATION SUCCESSFUL LOAD AND LINK TIME (with worker concurrency 8): 32.7142ms
Loaded Project: __yy_sdf_blur_shader
finished.
Found Project Format 2
+++ FAST SERIALISATION SUCCESSFUL LOAD AND LINK TIME (with worker concurrency 8): 126.7824ms
Loaded Project: GMPresetParticles
finished.
Release build
Options: C:\Users\Jon\AppData\Roaming\GameMakerStudio2\Cache\GMS2CACHE\Arduino_23_6C9084EF\ExtensionOptions.json
OptionsIni
Options: C:\Users\Jon\AppData\Roaming\GameMakerStudio2\Cache\GMS2CACHE\Arduino_23_6C9084EF\PlatformOptions.json
[Compile] Run asset compiler
C:\ProgramData/GameMakerStudio2/Cache/runtimes\runtime-2023.11.0.157/bin/assetcompiler/windows/x64/GMAssetCompiler.dll /c /mv=1 /zpex /iv=0 /rv=0 /bv=0 /j=8 /gn="Arduino_23" /td="C:\Users\Jon\AppData\Local\GameMakerStudio2\GMS2TEMP" /cd="C:\Users\Jon\AppData\Roaming\GameMakerStudio2\Cache\GMS2CACHE\Arduino_23_6C9084EF" /rtp="C:\ProgramData/GameMakerStudio2/Cache/runtimes\runtime-2023.11.0.157" /zpuf="C:\Users\Jon\AppData\Roaming/GameMakerStudio2\jon.nystrom_648173" /ffe="d3t+fjZrf25zeTdwgjZ5em98a3GCN4ODbTZzeH5vdnZzfW94fW82eH92dnN9cjZ2eXFzeGl9fXk2fm99fjZtf31+eXdpb3iANnBzdn41cII2cYJpd3luaYFrdnZ6a3pvfDZxgml3eW5pcWt3b31+fHN6NnZzgG9pgWt2dnprem98aX1/bH1tfHN6fnN5eA==" /m=windows /tgt=64 /nodnd /cfg="Default" /o="C:\Users\Jon\AppData\Local\GameMakerStudio2\GMS2TEMP\Arduino_23_62ABC544_VM" /sh=True /optionsini="C:\Users\Jon\AppData\Local\GameMakerStudio2\GMS2TEMP\Arduino_23_62ABC544_VM\options.ini" /cvm /baseproject="C:\ProgramData/GameMakerStudio2/Cache/runtimes\runtime-2023.11.0.157\BaseProject\BaseProject.yyp"
"C:\Users\Jon\Downloads\ta bort\Arduino-main\Arduino_23\Arduino_23.yyp" /debug /bt=run /rt=vm /64bitgame=true
Looking for built-in fallback image in C:\ProgramData/GameMakerStudio2/Cache/runtimes\runtime-2023.11.0.157\bin\BuiltinImages
Compile Constants...finished.
Remove DnD...finished.
Compile Scripts...finished.
Compile Rooms...finished..... 0 CC empty
Compile Objects...finished.... 0 empty events
Compile Timelines...finished.
Compile Triggers...finished.
Compile Extensions...finished.
Global scripts...finished.
finished.
collapsing enums.
Final Compile...finished.
Saving IFF file... C:\Users\Jon\AppData\Local\GameMakerStudio2\GMS2TEMP\Arduino_23_62ABC544_VM\Arduino_23.win
Writing Chunk... GEN8 size ... -0.00 MB
option_game_speed=30
Writing Chunk... OPTN size ... 0.00 MB
Writing Chunk... LANG size ... 0.00 MB
Writing Chunk... EXTN size ... 0.00 MB
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
---> System.ArgumentNullException: Value cannot be null. (Parameter 'path1')
at System.IO.Path.Combine(String path1, String path2)
at GMAssetCompiler.WADSaver`1.WriteExtensions(IList`1 _data, Stream _s, IFF _iff)
at GMAssetCompiler.IFFChunkHandler`1.Save(Stream _stream, IFF _iff)
at GMAssetCompiler.IFF.WriteChunks(Stream _stream, TextWriter _out)
at GMAssetCompiler.WADSaver`1.Save(GMAssets _assets, Stream _stream, List`1 _extraFilenames, Dictionary`2 _extraAttributes)
at GMAssetCompiler.IFFSaver.Save(GMAssets _assets, String _name)
at GMAssetCompiler.Program.CompileProject(GMAssets _file)
at GMAssetCompiler.Program.Reentry(String[] _args)
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Span`1& arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
at Igor.Program.ExecuteAssetCompiler(String _args)
at Igor.WindowsBuilder.Compile(Boolean _exe)
at Igor.WindowsBuilder.Deploy(Boolean _exe)
at Igor.WindowsBuilder.Run()
Igor complete.
elapsed time 00:00:02.9689371s for command "C:\ProgramData/GameMakerStudio2/Cache/runtimes\runtime-2023.11.0.157/bin/igor/windows/x64/Igor.exe" -j=8 -options="C:\Users\Jon\AppData\Local\GameMakerStudio2\GMS2TEMP\build.bff" -v -- Windows Run started at 12/14/2023 20:08:31
FAILED: Run Program Complete
For the details of why this build failed, please review the whole log above and also see your Compile Errors window.
This is a problem with GameMaker Studio's build step. Specifically while building extensions. The actual error is:

Code:
System.ArgumentNullException: Value cannot be null. (Parameter 'path1')
at System.IO.Path.Combine(String path1, String path2)
at GMAssetCompiler.WADSaver`1.WriteExtensions(IList`1 _data, Stream _s, IFF _iff)
Which implies some path is null. I would try uninstalling and re-installing the extension. I might also try starting with a blank project and and adding the extension to see if it can build at all.
 
Thanks for you reply.
Starting a blank project and choosing extension > add existing > arduino.yy (from Arduino_32)
The files gets no names.
Is this perhaps part of the problem?

Same problem is till there.

1702584578061.png
 
Last edited:

YellowAfterlife

ᴏɴʟɪɴᴇ ᴍᴜʟᴛɪᴘʟᴀʏᴇʀ
Forum Staff
Moderator
Thanks for you reply.
Starting a blank project and choosing extension > add existing > arduino.yy (from Arduino_32)
The files gets no names.
Is this perhaps part of the problem?

Same problem is till there.

View attachment 59606
Extensions are busted as of the current 2023.11 IDE - you'll have to roll back to 2023.8 and re-import your extensions.
 
Top