v4.1.0
GB Studio is a quick and easy to use drag and drop retro game creator for your favourite handheld video game system.
[4.1.0] - 2024-09-02
Added
- Add ability to create reusable actor and trigger "prefabs"
- Add ability to set reusable "preset" values on "Display Dialogue" and "Launch Projectile" events
- Add "Draw Text" event allowing drawing text directly to background or overlay (based on "Display Background Text" plugin by @pau-tomas)
- Add "Set Overlay Scanline Cutoff" event allowing you to show overlays at the top of the screen
- Add "Close Non-Modal Dialogue" event, required if using "Close When" -> "Never" option in updated "Display Dialogue" event.
- Add "Mute Channel" event allowing control over which music channels are active or muted (based on "Mute Channel" plugin by @pau-tomas)
- Add "Set Dialogue Frame" event allowing the dialogue frame image to be dynamically replaced with any 24px x 24px tileset (based on "Set Dialogue Frame" plugin by @pau-tomas)
- Tilesets asset folder added to all sample projects @pau-tomas
- Add
_stackPushVariable(variable)
and_isIndirectVariable(variable)
helpers for use in plugins - Add "View Script Uses" feature accessible from the script context menu, allowing you to see all places where a script has been used in your project
- Add ability to change compiler optimisation settings in Build Options section on Settings page @patrickmollohan
- Add event "Set Actor Collision Bounding Box" to modify collision shape
- Add event "Set Text Sound Effect" to set a sound effect to play as each dialogue text character is displayed
- When deleting scripts, you are now given the option to also delete all "Call Script" events that reference the script
- Add ROM usage monitor to Build Log showing how much free space is available before the next ROM size increase @pau-tomas
- Add "Print Using GB Printer" event to send either the current Background or Overlay to a connected GB Printer. Game must be run on real hardware with a printer connected for this feature to work (based on "Print Screen Background" plugin by @pau-tomas)
- Add "Set Camera Property" event for changing camera deadzone and offset values
- Add "Actor Effects" event for playing effect animations on actors (based on "Actor FX" plugin by @pau-tomas)
- Add "Thread Start" and "Stop Thread" events allowing running scripts in the background.
Changed
- Changed project file structure. The
.gbsproj
file will now contain very little information, instead each scene, actor, trigger, etc is individually stored in a.gbsres
file in aprojects/
folder allowing for better support for version control + working in teams. Migration is automatic on first save after loading a project - Update to latest GBVM
- Optimise subpixel calculations in Actor and Camera Move events by using bitwise shifting rather than multiplication/division
- Updated Polish localisation. @ReptiIe
- Updated Japanese localisation. @tomo666
- Updated French localisation. @Pomdap
- Updated Spanish localisation. @doomer6699
- Only the inbuilt scene types that were actually used in your game are now compiled, improving build time if only some scene types were used
- Improve build cancelling: Stops spawned processes immediately rather than waiting for in progress processes to complete
- Changing the engine field in a "Store Engine Field In Variable" event no longer resets the variable
- Build time now shown in seconds when < 60s and minutes+seconds when >= 60s
- Update Scene Pop events to allow setting Fade Speed as "Instant" @pau-tomas
- "Launch Projectile" event fields organised into multiple tabs
- Update "Display Dialogue" event to include tabs with additional layout and behavior options (based on "Display Advanced Dialogue" plugin by @pau-tomas)
- Update "Set Sprite Palettes" event to allow restoring default palettes
Fixed
- Fix localisation of collision mask input field
- Fix issue where using variables used within Not, Rnd(), Abs(), etc. in scripts were not being listed as parameters
- Fix Variable Uses list to include variables used in script value calculations
- Fix tilemap generation when number of unique tiles is above limits to match behaviour in v3.x
- Fix issue where custom movement speed input would become focused unnecessarily
- Fix issue causing broken rom header when project name contained no ascii characters
- Fix issue where sound effect preview button would sometimes not cause sound effect to play
- Fix issue where using reusing a script that would launch projectiles across multiple scenes could cause the wrong projectile to be launched
- Fix issue where passing values from one script to another wouldn't correctly pass by reference
- Fix issue where using parameters from one script while calling another wouldn't register the parameter in the parent script correctly
- Fix issue where modified player flags were not being reset when changing scenes
- Fix issue where "If Actor At Position" wasn't rounding to chosen units before comparing causing condition to fail when between tiles
- Fix issue where resetting palettes back to defaults from a script used in multiple scenes may not load the correct palettes
- Fix issue where timers were not suspending when executing modal dialogues and menus
- Fix issue where using "Start Actor's 'On Update' script" could change sprite draw order