I’ve added @Mr.Blinky to the release notes on GitHub and in the post above. I’m sorry I can’t add him to the commit log because I don’t like to “rewrite history” after publicly and officially releasing.
The post above was all I was expecting.
Whoa! My game went from this 10489 to 10368 bytes from recompile! thanks!
Great and detailed release notes!
Awesome to see a major update on the the Arduboy2 library @MLXXXp and thanks for the credits. Pleased that I could contribute. Looks like I have some work to do for the homemade version now
Another appology: I realised I forgot to credit @Dreamer3 for the concept of how to remove the USB code. This has been corrected in the release notes (but unfortunately, again, I can’t add it to the git logs).
I recompiled RogueBoy and gained over 1k bytes, Great work!
Yes great work @MLXXXp - now I can remove the setRGBled() code that you lent me with the real version!
Super! Great work! I regained 106bytes in my project.
Does this have any impact on existing software titles?
I don’t think so … the changes to existing functionality is just performance enhancements / code size reductions.
The major version was increased so there should be at least one thing that breaks backwards compatibility.
That said, I can’t find it.
As far as I can tell all the changes are either bugfixes, new features or optimisations
The impact will be smaller/faster code.
(Assuming the games are recompiled with the new library.)
There isn’t really. However, the boot logo has been sped up, so sketches won’t behave exactly as before
The main reason I bumped the major version number, though not strictly adhering to guidelines, is due the the large number of changes. Plus, it’s easier to remember and state things like:
If you want users to be able to use the system EEPROM flag to suppress the boot logo, you must compile with version 5 or higher.
Rather than remembering and stating: between 4.1.0 and 4.2.0
Circuit Dude [2.1] - Awesome Puzzle Game With 50 Levels!
You could argue that’s a bugfix.
For people used to using semver it’s not that hard,
but I guess since we get a lot of beginners here that makes sense.
A post was merged into an existing topic: Circuit Dude [2.1] - Awesome Puzzle Game With 50 Levels!
Is this still an issue? Part of not going back to fix up Circuit Dude was the sound/LED conflict. Is there a suggested way to fix this on my end? I wouldn’t mind updating Circuit Dude to fix it and also touch up the graphics to include his new look.
Arduboy2 library version 5.1.0 has been released and is available through the Arduino Library Manager.
There is only one significant change for this release:
A flag has been added to system EEPROM that will allow the RGB LED to remain off while the boot logo is being displayed. This flag can be set by uploading the SetSystemEEPROM example sketch.
File > Examples > Arduboy2 > SetSystemEEPROM
Functions writeShowBootLogoLEDsFlag() and readShowBootLogoLEDsFlag() have been added to the library, to allow manipulating the new flag.
For all sketches using the Arduboy2 library that include the boot logo, users can now customize each individual Arduboy so that it will do one of the following:
Perform all features of the boot logo sequence:
- The logo scrolls down.
- The RGB LED flashes red, green, blue.
- If set, a custom Unit Name is displayed at the bottom of the screen after the logo stops scrolling.
This is the default setting.
Display the logo and Unit Name but don’t flash the LEDs. The LEDs remain off.
Display the logo and LEDs but don’t show the Unit Name.
Display the logo only, not the Unit Name or LEDs.
Don’t display the boot logo sequence at all. Go straight to the sketch when the Arduboy is powered up or reset.
Note that for sketches that leave out the text functions of the library by using the Arduboy2Base class instead of the Arduboy2 class, the Unit Name won’t be displayed regardless of the “show Unit Name” EEPROM flag setting.
Note also that even if the logo is left enabled, it can be bypassed or aborted by pressing the RIGHT button when powering up or while the logo is scrolling down.
P.S. The Unit Name (up to 6 characters) can be set using the aforementioned SetSystemEEPROM example sketch.
Discussion And Survey - Boot Vs Begin
Arduboy2 library version 5.2.0 has been released and is available through the Arduino Library Manager.
Release change notes:
Added function generateRandomSeed(), which will return a random value suitable for seeding random number generators. (This new function is now used by the initRandomSeed() function.) Thanks @Pharap
Function drawPixel() has been rewritten to address an issue with the compiler introduced in Arduino V1.8.6. It has also been made static. Plus, it saves a few bytes of program memory. Thanks @Mr.Blinky
Constructors were added to the Point and Rect objects used for collision detection features. The collide() functions were made static. Thanks @Pharap
Minor cleanup of
#includestatements. Thanks @Pharap