July 2023 update
Added 2023-07-09 13:00:05 +0000 UTCHey folks,
Time for another update. Unfortunately, coding work is not fast, and it's usually not very visual, or I'd be writing more posts.
Still, progress has been made!
DarkEdif SDK prep tool
This was completed, and released on 30th May 2023, and now is the first program to run for any aspiring DarkEdif extension developer.
It will use the nearby DarkEdif Template, remove any Template stuff you don't need like non-English languages, and pull out the folder structure, include files, and FusionSDKConfig.ini file so you can easily spin out a standalone repository, or create a project alongside the others.
Arguably, a project within your local copy of MMF2Exts is better, assuming you don't edit the core SDK files - and you shouldn't have reason to - then you can just keep it synchronised with the latest SDK updates from GitHub MMF2Exts repo.
Several times folk have reported small bugs and I've uploaded a fix the next day. Of course, it's open-source, so you can always fix it yourself and request a change.
SDL Object
I've completed the SDL Joystick to Joy Object transition. First build (b10) is publicly released following a lot of testing on Clickteam Discord. Changes include:
- Updated internal SDL library from v2.0.20 to v3.0.0
- Added Gamepad interface
- Added ports for Android, iOS, HTML5 and Mac
It should be noted SDL doesn't have a HTML5 port, this uses the HTML5 browser and maps it to a SDL-like interface. All platforms use the same A/C/E and operate the same way. - Added rumble
- Added accelerometer/gyroscope (controller tilt/movement detection)
- Added object properties for changing SDL behaviour
- Added 8/16/32-dir and angle conditions/expressions
- Added 360-movement X/Y intensity calculations
- Added stick/dpad changed direction conditions - ext will trigger when changed, you don't have to constantly check
- Added help file and example file
- Added controller touchpad
- Added controller battery power level reading
- Removed Joystick ball A/C/E (SDL2 only, was removed in SDL3)
- Fixed Fusion built-in keyboard delay/conflict - Control X should not be needed anymore
- Updated to DarkEdif SDK v18 - iOS fixes, Mac compatibility
- Fixed Nintendo Switch Pro conflicting with Steam - this was a SDL bug fixed by SDL folks.
A lot of these edits were done because I thought about all possible games and how I would want such an object to be designed. Constantly checking stick direction and comparing to old one? Why do that in events when the object can do that?
This object is available to patrons and eventually, will be published on ClickStore. You can also buy it separately, at $5 a platform.
DarkScript and object selection
Next, I've been doing some porting work on DarkScript. I reported a runtime bug to Yves in November 2022, and so far still haven't heard back about it, despite sending various folks to nudge him.
I instead started porting DarkScript to Android, as it's easier to debug there, as while Java is not really open-source, I can at least modify the code and add debugging lines. Not so easy for iOS/Mac, and definitely not for Windows.
I did have a client who was funding work into that, but he's vanished after sending one payment. Ghosting seems to be a pattern in this business. Now that I'm no longer keeping an eye on my disorder-afflicted grandmother, I have time to look into this again alongside more paid work.
Currently, the only DarkScript problem I know of is that if you run a function in the same event that you create a new object, something to do with object selection causes the runtime to repeatedly run the same event over and over - not the creation event, but a random one. (This is the one I reported to Yves after I confirmed it wasn't DS stuck in a loop.)
What's next?
So, current to-do list, in rough order:
- DarkScript update
- Web Query Object update to new SDK, hopefully to mobile/Mac
- DebugObject update
- bluewing-cpp-server for Mac
Thanks for being a patron!
~ Phi