Skip to content

Releases: chrismaltby/gb-studio

v4.1.3

16 Sep 10:18
Compare
Choose a tag to compare

GB Studio is a quick and easy to use drag and drop retro game creator for your favourite handheld video game system.

[4.1.3] - 2024-09-16

Changed

  • Updated Spanish localisation. @doomer6699
  • Improved error message that appears when project fails to open due to broken plugins

Fixed

  • Fix issue where adding a new song wouldn't warn about unsaved changes in current song
  • Fix issue where adding a song with an already existing name wouldn't auto select the newly created song
  • Fix issue where scene connection lines could get stuck in place if custom scripts that change scenes are called multiple times from the same scene
  • Fix issue where "Replace Script" confirmation alert would appear when pasting sometimes even if the custom script hadn't been modified
  • Fix issue preventing building projects containing a "Play Music" event but no music
  • Fix issue where dialogue script events could cause horizontal scroll bars to appear in script editor when column was not wide enough to display all tabs
  • Fix issue where errors causing the build process to end early where not being display correctly in the Build Log
  • Fix issue preventing build when a scene includes a common tileset that has been deleted

v4.1.2

09 Sep 12:12
554d17c
Compare
Choose a tag to compare

GB Studio is a quick and easy to use drag and drop retro game creator for your favourite handheld video game system.

[4.1.2] - 2024-09-09

Added

  • Add ability to remove a single project from the recent files list by clicking "X" button that appears on hover

Changed

  • Update build log so the scripts with GBVM errors will display a link to edit the script which needs fixing.
  • When trying to open a project that has been deleted it will be removed from the recent projects list
  • Build process now runs in a Worker thread, meaning long builds will no longer cause the UI to become unresponsive

Fixed

  • Fix overflow of actor position that can occur when using "Move Relative" event near scene edges
  • Fix issue causing crash when trying to preview an FX Hammer effect index that doesn't exist
  • Fix issue building game when playing FX Hammer sound effect that doesn't exist (overflowed values will clamp to available range)
  • Fix issue where migrate project confirmation dialog would appear behind project window on Linux
  • Fix issue where "Display Dialogue" event would inconsistently pause between each dialogue in a multi dialogue sequence
  • Fix issue where text scroll would not scroll first character of each line of text when using avatars

v4.1.1

04 Sep 11:05
Compare
Choose a tag to compare

GB Studio is a quick and easy to use drag and drop retro game creator for your favourite handheld video game system.

[4.1.1] - 2024-09-04

Added

  • Add desktop icons for Linux deb and rpm packages @wbrawner

Changed

  • Update build log so the scripts that are too large to fit in GB memory will display a link to edit the script which needs reducing.
  • Updated Spanish localisation. @doomer6699

Fixed

  • Fix issue where custom script gbvm symbols would not always match the ones you defined
  • Fix issue where identical custom scripts would share the same gbvm symbol
  • Fix wording on sound effect context menu. Now says "Delete Sound Effect" rather than "Delete Song"
  • Fix variable uses list to include variables referenced in text and expressions
  • Fix label in Switch event for branch when value is "0"

Removed

  • Removed "Optimise ROM For" setting as it would cause issues when changed from default value

v4.1.0

02 Sep 17:22
Compare
Choose a tag to compare

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 a projects/ 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

v4.0.2

29 Jul 17:23
Compare
Choose a tag to compare

GB Studio is a quick and easy to use drag and drop retro game creator for your favourite handheld video game system.

[4.0.2] - 2024-07-29

Changed

  • Optimised loading of large projects by upgrading to newer version of Normalizr
  • Improved text contrast on world status bar (info for current scene + x/y coordinate of hovered tile)

Fixed

  • Fix spell check to use chosen application language where possible
  • Fix stack error preventing use of rnd() within "if" statements
  • Fix 'wait for input' text code responsiveness when using slower text speeds
  • Fix inconsistent draw speeds when using "Set Text Animation Speed" (Speed 4 would alternate between fast and slow)

v4.0.1

22 Jul 15:29
Compare
Choose a tag to compare

GB Studio is a quick and easy to use drag and drop retro game creator for your favourite handheld video game system.

[4.0.1] - 2024-07-22

Added

  • MAX_GLOBAL_VARS made available in game_globals.h for use in engine plugins @kinostl
  • Add ability to set "On Load" script in "Game Data Save" event allowing you to reinitialise runtime changes such as palettes, sprites or tile data which are not stored when saving a game
  • Add Bahasa Indonesia localisation. @kiraware
  • Add option to toggle spell check using "Edit / Spelling and Grammar / Check Spelling While Typing" setting on menu

Changed

  • Updated Simplified Chinese localisation. @wcxu21
  • Improve legibility of extra collision tiles by using a pixel font "Public Pixel" by GGBot @kinostl
  • Updated Polish localisation. @ReptiIe
  • Changed wording of batteryless save feature and added warning when feature is enabled to explain that only very specific cartridges will be supported
  • Updated Japanese localisation. @tomo666
  • Optimise wait event CPU use when when waiting for 1-4 frames by using VM_IDLE
  • Updated to latest GBVM

Fixed

  • Fix typo with white tile reference in engine UI @kevinfoley
  • Fix issue where text codes would only autocomplete only using localised names. !Font, !Speed, !Instant and !Cursor will no list results regardless of user's language setting
  • Fix issue where rename button wouldn't appear for variables used in script values
  • Fix issue where actors referenced within scripts were not always being linked correctly
  • Fix issue where moving actors relatively off left or top of screen would cause coordinates to wrap, causing them to move in wrong direction
  • Fix issue in Japanese localisation where dialogue and expression text editors would show caret at incorrect location
  • Fix issue where save/load wouldn't work in game preview or web export when "Enable Batteryless Saving" was enabled, this setting is now ignored unless exporting a ROM file
  • Fix issue where selecting the current field in engine field events caused the value to be lost
  • Fix issue where changing script in Call Script event would keep references to previous script's args causing issues when nesting scripts
  • Fix issue where commented conditional statements within custom scripts could cause "Unknown arg" errors
  • Fix issue causing much higher CPU use when using "If" statements and expressions compared with version 3.2
  • Fix issue when using IME input for languages such as Japanese, Chinese, Korean where rename and search functionality would finish early while text is still being composed @tomo666
  • Fix issue where pressing "Enter" when adding an unknown reference to a GBVM script would cause the application to crash

Removed

  • Removed "Replace Default For Scene Type" checkbox from "Set Player Sprite Sheet" event which hasn't worked since the early 3.0 releases and contained multiple issues even when "working". Recommended replacement is to use scripts in Scene "On Init" and Save Data "On Load" to initialise player sprites based on variables

v4.0.0

19 Jun 11:56
Compare
Choose a tag to compare

GB Studio is a quick and easy to use drag and drop retro game creator for your favourite handheld video game system.

[4.0.0] - 2024-06-19

Added

  • Add ability to launch projectiles at a target actor @patrickmollohan @pau-tomas
  • Add angle selector input showing degrees for GBVM angle values @pau-tomas
  • Add support for atan2 function in math expressions @pau-tomas
  • Add magnitude field to camera shake event @patrickmollohan
  • Add checkbox to toggle if new animation should loop when using Set Actor Animation State event @pau-tomas
  • Add shortcut to search scenes when in world mode by pressing /
  • Add support from adding sound effects to a project by dragging files into project window (to match how this works for other asset types)
  • Add native support for Macs with Apple silicon without needing Rosetta
  • Add support for << and >> operators in math expressions @pau-tomas
  • Add script debugger pane to World view, when game is run while this is open allows inspecting currently running scripts, setting breakpoints and updating live variable values
  • Add 'Color Only' mode. Roughly doubles the amount of tiles available for backgrounds and sprites though game will no longer run on original GB (DMG) hardware
  • Add event "Replace Tile At Position" and "Replace Tile From Sequence" to update background tiles, calling "Replace Tile From Sequence" repeatedly will cycle through animation frames
  • Add new asset folder "Tilesets" for use in "Replace Tile" events
  • Add ability for plugins to define additional scene types by including defined types (e.g. "sceneTypes": [{"key": "RACING", "label": "Racing 2D"}]) in engine.json @pau-tomas
  • Add ability for Actor Move Relative, Actor Set Position Relative and If Actor At Position to use variables as coordinate inputs
  • Add ability for almost every script event input that supports variables to use advanced values, click the button to the left of the value input to select value types, and combine them with math operators
  • Add ability to use variables within Menu and Choice events @pau-tomas
  • Add stack preview mode to debugger
  • Add ability to set common tilesets between scenes, the common tiles will always be loaded in a consistent order between scenes sharing the same common tileset
  • Add ability to set Fade Speed as "Instant" when switching scenes, combine this with use of common tilesets in both scenes to enable seamless scene switching
  • Add ability to use variables, advanced values and expressions for coordinates in Change Scene event
  • Add ability to "Preview as Monochrome" when using mixed color mode by toggling button at bottom left of World view
  • Add ability to provide color PNGs for backgrounds and extract palettes automatically by either clicking "Auto Color" button in brush toolbar or using dropdown on Scene sidebar next to "Background Palettes" label
  • Add ability to override tile data for auto colored backgrounds by providing a matching *.mono.png in your assets/backgrounds folder containing a monochrome version of the background. When provided this file will be used for tiles data and the regular image will be used to extract the color palettes (useful for mixed color mode games when auto palettes isn't creating tile data as you'd like automatically)
  • Add ability to edit waveforms in music editor using keyboard with ability to copy/paste @pau-tomas
  • Add ability to restore scene's default palettes in "Set Background Palettes" (especially useful when using auto palettes)
  • Add ability to set filename when creating a new song in music editor
  • Add context menus when right clicking on list items, or on scenes/actors/triggers in world view, or tiles on sprite editor view allowing renaming/deleting
  • Add ability to multi select scenes by shift click + dragging on world view or shift clicking in scenes list. When multiple scenes are selected they can be moved at the same time
  • Add ability to multi select script events by shift clicking the event's header. When multiple events are selected they can be moved, copied, grouped or deleted at the same time
  • Add ability for scenes, scripts, palettes and image/music assets to be organised into folders by naming them with path separators (/ or \ supported) e.g naming a scene ui/menu/Inventory will place it in a folder ui/menu
  • Generate game_globals.h at compile time allowing access to global variables from C code @pau-tomas
  • Add support for using random numbers in GBVM RPN instructions @untoxa
  • Add Set Camera Position event which can be used before scene fade in to instantly move camera to a new location
  • Add Script Lock and Script Unlock events allowing pausing other scripts and scene updates until the script is completed or unlocked
  • Add Build Options to "Settings" section with option to toggle if "Build Log" should be opened automatically on warnings
  • Add Show Navigator button to World toolbar if navigator is closed
  • Add ability to rename flags in Variable Flags Add/Clear/Set events @pau-tomas
  • Add ability for variables to be used for X/Y coordinates in replace tile events
  • Add Russian localisation. @Alexandr199514
  • Add support for isqrt and rnd functions in math expressions
  • Add support for printf style tokens in text. %D5$Variable in text will output variable value with 5 characters and leading zeros e.g. 00042, %c$Variable will output a character code based on variable value, %t$Variable will set text speed based on variable value, %f$Variable will change font based on variable value.
  • Add ability to change text cursor position in dialogue with "Set Cursor Position To" and "Move Cursor Position By" commands accessible by typing !Cursor

Changed

  • Updated to latest GBVM
  • Updated code generation to reduce access to stack @pau-tomas
  • Update Variable Uses sidebar to include any uses within Scripts @pau-tomas
  • Improved organisation of "Add Event" menu by grouping related event types
  • Updated German localisation. @gonzoMD
  • Add Event Menu highlights matching text when searching
  • Updated to latest GBDK-2020
  • Dragging scenes now snaps to an 8px grid allowing easier alignment of scenes
  • Camera speed events updated to use pixels per frame values like actor movement, allowing more precise speed control and speeds faster than 1px per frame
  • Build information and warnings moved to "Build Log" section of Debugger
  • Updated Japanese localisation. @tomo666
  • Allow event plugins to require("shared/lib/scriptValue/helpers") to access script value helpers
  • Update sidebar layout to prioritise giving scripts full sidebar width
  • Update sidebar to preserve scroll position when switching between scenes/actors/triggers/scripts
  • Update music editor to display compressed version of channel mute/visibility controls when not enough room to display fully
  • Keep preference for using Piano Roll or Tracker view when switching between songs in music editor rather than switching to Piano Roll view
  • Button events renamed to be more consistent
  • "Add Event" search updated to also include events that match group name when searching e.g. Searching 'Joypad' will include all Button events
  • Darkened conditional event header colours in dark theme
  • Patron list in credits now fetches most up to date list of members from GitHub if an internet connection is available
  • Previous "Name in Credits" tier members on Patreon are now still shown even after their membership has finished (your support is still very much appreciated!)
  • Update GBVM script view in debugger to show human readable labels
  • Updated Spanish localisation. @doomer6699
  • Updated Polish localisation. @ReptiIe
  • Update script branch labels to include the condition logic if there is enough vertical space
  • Update script branch labels to stay on screen when scrolling through long scripts
  • Sprite editor updated to allow canvas min width of 8px with 8px width increments
  • When in collision tile drawing mode, actor sprite collision bounding boxes are now also visible
  • Sprite editor frames list now shows frame number
  • Improve layout of asset dropdowns when using folders
  • Dialogue event titles now show names of used variables in preview
  • Updated to GBDK version 4.3.0
  • When using "Color Only" mode, GB rom file extension changed to ".gbc"
  • Sprite editor frame numbers updated to start from frame "0" to match values used in "Set Animation Frame" event

Fixed

  • Fix localisation for default names of scenes, actors and triggers, new entities no longer hard coded to use English names
  • Fix issue where clicking on a scene would sometimes not cause it to become selected
  • Fix issue where dragging World using middle mouse button and releasing button with cursor outside of window would cause scrolling to still be enabled
  • Fix issue where double clicking scene search input would cause window to become maximised on macOS
  • Fix issue where pasting a "Call Script" event could sometimes incorrectly say script has been modified if project hadn't been saved and reloaded first
  • Fix issue where creating a new pattern in music editor would sometimes cause the other patterns ...
Read more

v4.0.0-rc.2

13 Jun 08:56
Compare
Choose a tag to compare
v4.0.0-rc.2 Pre-release
Pre-release

It seems I was a bit too optimistic thinking the first release candidate was ready. A few big issues were found by early testers which have been fixed in this second release candidate for GB Studio 4!

Again if you have any issues with your music not sounding the same, there is a migrator tool available at https://chrismaltby.github.io/gbs-uge-migrator/ (backup before using this too!)

[4.0.0-rc.2] - 2024-06-13

Changed

  • Updated to GBDK version 4.3.0
  • When using "Color Only" mode, GB rom file extension changed to ".gbc"
  • Sprite editor frame numbers updated to start from frame "0" to match values used in "Set Animation Frame" event

Fixed

  • Fix issue where long branch labels would cause gaps in script editor
  • Fix issue where right click context menu would appear when trying to right click to remove collisions. Context menu now only appears when using select tool
  • Fix issue where text focus could get stuck in Build Log or GBVM script preview in debugger, preventing copy/paste from working
  • Fix issue where restoring scene from stack after using camera move events would cause previous scene to load without being locked to player
  • Fix issue where calling scripts to change sprites for multiple actors in a scene would only reserve tile memory for the first actor
  • Fix issue where too many tiles were being reserved for sprite changes in "Color Only" mode causing sprite VRAM to overflow

v4.0.0-rc.1

06 Jun 16:41
Compare
Choose a tag to compare
v4.0.0-rc.1 Pre-release
Pre-release

This is the first release candidate for GB Studio 4! If no major issues are discovered in the near future, this version should be identical to the final release.

Again if you have any issues with your music not sounding the same, there is a migrator tool available at https://chrismaltby.github.io/gbs-uge-migrator/ (backup before using this too!)

[4.0.0-rc.1] - 2024-06-06

Added

  • Add Russian localisation. @Alexandr199514
  • Add support for isqrt and rnd functions in math expressions
  • Add support for printf style tokens in text. %D5$Variable in text will output variable value with 5 characters and leading zeros e.g. 00042, %c$Variable will output a character code based on variable value, %t$Variable will set text speed based on variable value, %f$Variable will change font based on variable value.
  • Add ability to change text cursor position in dialogue with "Set Cursor Position To" and "Move Cursor Position By" commands accessible by typing !Cursor

Changed

  • Update sidebar layout to prioritise giving scripts full sidebar width
  • Update sidebar to preserve scroll position when switching between scenes/actors/triggers/scripts
  • Update music editor to display compressed version of channel mute/visibility controls when not enough room to display fully
  • Keep preference for using Piano Roll or Tracker view when switching between songs in music editor rather than switching to Piano Roll view
  • Button events renamed to be more consistent
  • "Add Event" search updated to also include events that match group name when searching e.g. Searching 'Joypad' will include all Button events
  • Darkened conditional event header colours in dark theme
  • Patron list in credits now fetches most up to date list of members from GitHub if an internet connection is available
  • Previous "Name in Credits" tier members on Patreon are now still shown even after their membership has finished (your support is still very much appreciated!)
  • Updated Japanese localisation. @tomo666
  • Update GBVM script view in debugger to show human readable labels
  • Updated Spanish localisation. @doomer6699
  • Updated Polish localisation. @ReptiIe
  • Update script branch labels to include the condition logic if there is enough vertical space
  • Update script branch labels to stay on screen when scrolling through long scripts
  • Sprite editor updated to allow canvas min width of 8px with 8px width increments
  • When in collision tile drawing mode, actor sprite collision bounding boxes are now also visible
  • Sprite editor frames list now shows frame number
  • Improve layout of asset dropdowns when using folders
  • Dialogue event titles now show names of used variables in preview

Fixed

  • Fix "Add Flags" event tooltips localisation.
  • Fix issue where some sidebar inputs would appear above script tabs when scrolled
  • Fix rumble support when using MBC5 cartridge @pau-tomas
  • Fix issue where empty project message would be positioned incorrectly if World view was scrolled or zoomed
  • Fix issue where World view minimum size wasn't taking into account navigator sidebar or debugger pane causing unnecessary scroll bars
  • Fix issue where Math Expression editor would incorrectly show spellcheck errors in function names
  • Fix issue building game when Super GB Mode was enabled before setting Color Mode to "Color Only"
  • Fix issue where using a plugin for a newer version of GB Studio would give an error saying the plugin was for an older version
  • Fix title for "Call Script" events when no script has been selected
  • Fix issue where remapping '\' or 'n' in font would prevent line breaks from working
  • Fix issue where dragging frames in sprite editor would swap frame positions rather than shift them
  • Fix issue where searching through menus would use very low contrast text colours when using Dark theme
  • Fix issue preventing palette names from being over 25 characters long
  • Fix issue where sceneTypes in engine.json for plugins could cause duplicate scene types to appear
  • Fix issue using using non-English named variables and text codes in dialogue.

[4.0.0-beta2] - 2024-05-20

Added

  • Add ability for variables to be used for X/Y coordinates in replace tile events

Changed

  • Updated Japanese localisation. @tomo666
  • Allow event plugins to require("shared/lib/scriptValue/helpers") to access script value helpers

Fixed

  • Fix issue migrating "Engine Field Update" events
  • Fix issue where shift key no longer allowed line drawing for collisions and tile painting modes
  • Fix issue where using recursive scripts could cause UI to lock up while calculating scene sprite tile count and when building game.
  • Fix issue where custom scripts parameters were not always updating as parameters were updated
  • Fix issue where "If Variable Has Flag" was always false @pau-tomas
  • Fix issue where selecting effect column in music editor tracker would cause application to freeze @pau-tomas
  • Fix issue preventing documentation being accessed from splash window

[4.0.0-beta1] - 2024-05-13

Added

  • Add ability to launch projectiles at a target actor @patrickmollohan @pau-tomas
  • Add angle selector input showing degrees for GBVM angle values @pau-tomas
  • Add support for atan2 function in math expressions @pau-tomas
  • Add magnitude field to camera shake event @patrickmollohan
  • Add checkbox to toggle if new animation should loop when using Set Actor Animation State event @pau-tomas
  • Add shortcut to search scenes when in world mode by pressing /
  • Add support from adding sound effects to a project by dragging files into project window (to match how this works for other asset types)
  • Add native support for Macs with Apple silicon without needing Rosetta
  • Add support for << and >> operators in math expressions @pau-tomas
  • Add script debugger pane to World view, when game is run while this is open allows inspecting currently running scripts, setting breakpoints and updating live variable values
  • Add 'Color Only' mode. Roughly doubles the amount of tiles available for backgrounds and sprites though game will no longer run on original GB (DMG) hardware
  • Add event "Replace Tile At Position" and "Replace Tile From Sequence" to update background tiles, calling "Replace Tile From Sequence" repeatedly will cycle through animation frames
  • Add new asset folder "Tilesets" for use in "Replace Tile" events
  • Add ability for plugins to define additional scene types by including defined types (e.g. "sceneTypes": [{"key": "RACING", "label": "Racing 2D"}]) in engine.json @pau-tomas
  • Add ability for Actor Move Relative, Actor Set Position Relative and If Actor At Position to use variables as coordinate inputs
  • Add ability for almost every script event input that supports variables to use advanced values, click the button to the left of the value input to select value types, and combine them with math operators
  • Add ability to use variables within Menu and Choice events @pau-tomas
  • Add stack preview mode to debugger
  • Add ability to set common tilesets between scenes, the common tiles will always be loaded in a consistent order between scenes sharing the same common tileset
  • Add ability to set Fade Speed as "Instant" when switching scenes, combine this with use of common tilesets in both scenes to enable seamless scene switching
  • Add ability to use variables, advanced values and expressions for coordinates in Change Scene event
  • Add ability to "Preview as Monochrome" when using mixed color mode by toggling button at bottom left of World view
  • Add ability to provide color PNGs for backgrounds and extract palettes automatically by either clicking "Auto Color" button in brush toolbar or using dropdown on Scene sidebar next to "Background Palettes" label
  • Add ability to override tile data for auto colored backgrounds by providing a matching *.mono.png in your assets/backgrounds folder containing a monochrome version of the background. When provided this file will be used for tiles data and the regular image will be used to extract the color palettes (useful for mixed color mode games when auto palettes isn't creating tile data as you'd like automatically)
  • Add ability to edit waveforms in music editor using keyboard with ability to copy/paste @pau-tomas
  • Add ability to restore scene's default palettes in "Set Background Palettes" (especially useful when using auto palettes)
  • Add ability to set filename when creating a new song in music editor
  • Add context menus when right clicking on list items, or on scenes/actors/triggers in world view, or tiles on sprite editor view allowing renaming/deleting
  • Add ability to multi select scenes by shift click + dragging on world view or shift clicking in scenes list. When multiple scenes are selected they can be moved at the same time
  • Add ability to multi select script events by shift clicking the event's header. When multiple events are selected they can be moved, copied, grouped or deleted at the same time
  • Add ability for scenes, scripts, palettes and image/music assets to be organised into folders by naming them with path separators (/ or \ supported) e.g naming a scene ui/menu/Inventory will place it in a folder ui/menu
  • Generate game_globals.h at compile time allowing access to global variables f...
Read more

v4.0.0-beta2

20 May 11:07
Compare
Choose a tag to compare
v4.0.0-beta2 Pre-release
Pre-release

Another sneak preview of GB Studio 4 now with more bug fixes! Everything still subject to change, so make sure you keep plenty of backups of your projects.

If you have any issues with your music not sounding the same, there is a migrator tool available at https://chrismaltby.github.io/gbs-uge-migrator/ (backup before using this too!)

[4.0.0-beta2]

Added

  • Add ability for variables to be used for X/Y coordinates in replace tile events

Changed

  • Updated Japanese localisation. @tomo666
  • Allow event plugins to require("shared/lib/scriptValue/helpers") to access script value helpers

Fixed

  • Fix issue migrating "Engine Field Update" events
  • Fix issue where shift key no longer allowed line drawing for collisions and tile painting modes
  • Fix issue where using recursive scripts could cause UI to lock up while calculating scene sprite tile count and when building game.
  • Fix issue where custom scripts parameters were not always updating as parameters were updated
  • Fix issue where "If Variable Has Flag" was always false @pau-tomas
  • Fix issue where selecting effect column in music editor tracker would cause application to freeze @pau-tomas
  • Fix issue preventing documentation being accessed from splash window

[4.0.0-beta1]

Added

  • Add ability to launch projectiles at a target actor @patrickmollohan @pau-tomas
  • Add angle selector input showing degrees for GBVM angle values @pau-tomas
  • Add support for atan2 function in math expressions @pau-tomas
  • Add magnitude field to camera shake event @patrickmollohan
  • Add checkbox to toggle if new animation should loop when using Set Actor Animation State event @pau-tomas
  • Add shortcut to search scenes when in world mode by pressing /
  • Add support from adding sound effects to a project by dragging files into project window (to match how this works for other asset types)
  • Add native support for Macs with Apple silicon without needing Rosetta
  • Add support for << and >> operators in math expressions @pau-tomas
  • Add script debugger pane to World view, when game is run while this is open allows inspecting currently running scripts, setting breakpoints and updating live variable values
  • Add 'Color Only' mode. Roughly doubles the amount of tiles available for backgrounds and sprites though game will no longer run on original GB (DMG) hardware
  • Add event "Replace Tile At Position" and "Replace Tile From Sequence" to update background tiles, calling "Replace Tile From Sequence" repeatedly will cycle through animation frames
  • Add new asset folder "Tilesets" for use in "Replace Tile" events
  • Add ability for plugins to define additional scene types by including defined types (e.g. "sceneTypes": [{"key": "RACING", "label": "Racing 2D"}]) in engine.json @pau-tomas
  • Add ability for Actor Move Relative, Actor Set Position Relative and If Actor At Position to use variables as coordinate inputs
  • Add ability for almost every script event input that supports variables to use advanced values, click the button to the left of the value input to select value types, and combine them with math operators
  • Add ability to use variables within Menu and Choice events @pau-tomas
  • Add stack preview mode to debugger
  • Add ability to set common tilesets between scenes, the common tiles will always be loaded in a consistent order between scenes sharing the same common tileset
  • Add ability to set Fade Speed as "Instant" when switching scenes, combine this with use of common tilesets in both scenes to enable seamless scene switching
  • Add ability to use variables, advanced values and expressions for coordinates in Change Scene event
  • Add ability to "Preview as Monochrome" when using mixed color mode by toggling button at bottom left of World view
  • Add ability to provide color PNGs for backgrounds and extract palettes automatically by either clicking "Auto Color" button in brush toolbar or using dropdown on Scene sidebar next to "Background Palettes" label
  • Add ability to override tile data for auto colored backgrounds by providing a matching *.mono.png in your assets/backgrounds folder containing a monochrome version of the background. When provided this file will be used for tiles data and the regular image will be used to extract the color palettes (useful for mixed color mode games when auto palettes isn't creating tile data as you'd like automatically)
  • Add ability to edit waveforms in music editor using keyboard with ability to copy/paste @pau-tomas
  • Add ability to restore scene's default palettes in "Set Background Palettes" (especially useful when using auto palettes)
  • Add ability to set filename when creating a new song in music editor
  • Add context menus when right clicking on list items, or on scenes/actors/triggers in world view, or tiles on sprite editor view allowing renaming/deleting
  • Add ability to multi select scenes by shift click + dragging on world view or shift clicking in scenes list. When multiple scenes are selected they can be moved at the same time
  • Add ability to multi select script events by shift clicking the event's header. When multiple events are selected they can be moved, copied, grouped or deleted at the same time
  • Add ability for scenes, scripts, palettes and image/music assets to be organised into folders by naming them with path separators (/ or \ supported) e.g naming a scene ui/menu/Inventory will place it in a folder ui/menu
  • Generate game_globals.h at compile time allowing access to global variables from C code @pau-tomas
  • Add support for using random numbers in GBVM RPN instructions @untoxa
  • Add Set Camera Position event which can be used before scene fade in to instantly move camera to a new location
  • Add Script Lock and Script Unlock events allowing pausing other scripts and scene updates until the script is completed or unlocked
  • Add Build Options to "Settings" section with option to toggle if "Build Log" should be opened automatically on warnings
  • Add Show Navigator button to World toolbar if navigator is closed
  • Add ability to rename flags in Variable Flags Add/Clear/Set events @pau-tomas

Changed

  • Updated Polish localisation. @ReptiIe
  • Updated to latest GBVM
  • Updated code generation to reduce access to stack @pau-tomas
  • Update Variable Uses sidebar to include any uses within Scripts @pau-tomas
  • Improved organisation of "Add Event" menu by grouping related event types
  • Updated German localisation. @gonzoMD
  • Add Event Menu highlights matching text when searching
  • Updated to latest GBDK-2020
  • Dragging scenes now snaps to an 8px grid allowing easier alignment of scenes
  • Camera speed events updated to use pixels per frame values like actor movement, allowing more precise speed control and speeds faster than 1px per frame
  • Build information and warnings moved to "Build Log" section of Debugger

Fixed

  • Fix localisation for default names of scenes, actors and triggers, new entities no longer hard coded to use English names
  • Fix issue where clicking on a scene would sometimes not cause it to become selected
  • Fix issue where dragging World using middle mouse button and releasing button with cursor outside of window would cause scrolling to still be enabled
  • Fix issue where double clicking scene search input would cause window to become maximised on macOS
  • Fix issue where pasting a "Call Script" event could sometimes incorrectly say script has been modified if project hadn't been saved and reloaded first
  • Fix issue where creating a new pattern in music editor would sometimes cause the other patterns in the song to play at a lower octave
  • Fix issue where variables in Dialogue and Math inputs could appear above script tabs
  • Fix calculation of last parallax layer height in editor input @pau-tomas
  • Fix compiler warning when using some unary operators in While loop @pau-tomas
  • Fix issue where fonts referenced from plugins were not always being included in compiled game
  • Fix issue where navigator split sizes would update every time a project was opened, causing unnecessary changes when project stored in version control system
  • Fix issue where some slower camera speeds weren't actually slower
  • Fix issue where setting "Show Connections" to "None" would prevent Player start position from being visible/draggable
  • Fix issue where note lengths for wave instruments in .uge files were not being stored according to file specification. This may cause some .uge files created with older builds of GB Studio to not sound correct. If you need to fix any .uge files, you can use this migrator tool
  • Fix issue where navigator sidebar could sometimes not be wide enough to show Add and Search buttons in section headers
  • Fix issue where document wasn't being flagged as modified until first change after migrating a project

Removed

  • Removed "Build & Run" section, all previous functionality is now available in "Build Log" section of Debugger