Skip to content

Latest commit

 

History

History
627 lines (522 loc) · 43.8 KB

CHANGELOG.md

File metadata and controls

627 lines (522 loc) · 43.8 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[3.2.1] - 2024-02-27

Fixed

  • Fix sound effects previews in editor not matching how they sound in game @pau-tomas
  • Fix crash when typing "!S" into dialogue events
  • Fix bug where engine plugins that include an engine.json with no fields causes all default engine settings to be hidden @pau-tomas
  • Fix issue where transferring data over linkcable would cause game to hang

[3.2.0] - 2024-01-29

Added

  • Add ability to choose timer context in timer events allowing up to four timers to be used per scene @patrickmollohan
  • Add event "If Current Scene Is" to allow conditionally running scripts based on the current scene @patrickmollohan
  • Add ability to set background tile priority for Color games using Priorty tool in colorize section. Priority tiles appear above sprites
  • Add support for UGE v6 to music editor @pau-tomas
  • Subpattern editor added to Instrument Editor @pau-tomas
  • Add warning when trying to reuse background from a logo scene @pau-tomas
  • Add descriptive README files to asset folders in new projects @pau-tomas
  • Add slope brush when drawing collisions
  • Add magic brush when painting tiles and drawing collisions, updates all tiles matching the one clicked @RichardULZ
  • Add support for slopes to platform scenes @Canight @gearfo @Gumpy Function
  • Add ability to make Analogue Pocket builds using CLI tool @SalvatoreTosti
  • Add warning when using engine plugins built on older versions of GB Studio

Changed

  • Updated Simplified Chinese localisation. @wcxu21
  • Updated Polish localisation. @ReptiIe
  • Update to latest GBVM
  • Rename "Obj Palette" in sprite editor to "Monochrome Palette" to make its purpose clearer, now includes palette preview @pau-tomas
  • Allow actor fields that aren't named "actorId" or "otherActorId" to be in custom scripts @patrickmollohan
  • Fix issue where editing a variable's name in sidebar would sometimes cause a different variable to become selected

Fixed

  • Fixed issue where piano roll would scroll vertically when switching patterns @pau-tomas
  • Fix issue where editing a custom script could cause variables to switch back to pass by reference
  • Fix issue where loading a scene containing projectiles or dynamically modified sprites could cause graphical corruption @untoxa
  • Fix issue where script event title would show wrong local variable name for scenes @pau-tomas
  • Fix muting bug with FXH parser @coffeevalenbat
  • Fix issue where Animation State value for projectiles was being ignored
  • Fix issue where falling on to ladder while holding dpad down could sometimes cause player to get stuck
  • Fix bounds check for right screen edge when player isn't 16px wide
  • Fix VM_REPLACE_TILE_XY to allow tiles larger than 255 for logo scene type

Performance

  • Performance improvements in ScriptEditorEventHelper, no longer rerenders all scenes when updating @pau-tomas

[3.1.0] - 2022-09-11

Added

  • Add VM_LOAD_TILESET and VM_OVERLAY_SET_MAP to gbvm @untoxa
  • Add VM_ACTOR_MOVE_CANCEL @um3k
  • Allow using frames rather than seconds for wait/camera shake/attach timer script events
  • Added events to Deactivate & Activate actors, similar to old hide/show but prevents update scripts from running on disabled actors
  • Added ability to choose any referenced assets in GBVM script event forcing assets to be included within built project
  • Added ability to rename the GBVM symbol used for generated data files, accessible from "View GBVM Symbols" in right sidebar menu + GBVM event references section
  • Added syntax highlighting and line numbers to GBVM event code input
  • Added event Actor Move Cancel to cancel any scripted movement currently running for a given actor @um3k
  • Add sound effects file support reading WAV (.wav), VGM (.vgm, .vgz) and FXHammer (.sav) files from assets/sounds folder
  • Add support for setting sound effects priority @untoxa
  • Add ability to generate Emulicious debugging files @RichardULZ
  • Add tooltips to Song Editor tools @DeerTears
  • Added Piano Roll selection tool (also accessible by holding Shift) allowing multiple notes to be dragged at once @pau-tomas
  • Added copy paste support for notes in music editor with OpenMPT/hUGETracker compatible clipboard format @pau-tomas
  • Added ability to select multiple cells in tracker editor by holding shift while pressing arrow keys @pau-tomas
  • Added keyboard shortcut (Space bar) to toggle play/pause in music editor @pau-tomas
  • Add Idle event to wait for a single frame using VM_IDLE
  • Add "Loop For" and "Loop While" events
  • Add ability to pass number values as parameters when calling scripts @pau-tomas
  • Add ability to access global variables from within scripts @pau-tomas
  • Add ability to set script parameters to be passed by reference or by value (previously was always by reference)
  • Add ability to use pixel values for actor and camera movement @Y0UR-U5ERNAME
  • Add ability to view & change units used for time and distances inline within number and variable inputs
  • Add event "If Actor Distance From Actor" to check if one actor is within a certain range of another @juliusl
  • Add event "Start Actor's 'On Update' Script" @patrickmollohan
  • Add "Keep Running While Offscreen" option to actor "On Update" scripts
  • Add ability to prevent projectiles being destroyed on collision and to prevent projectile animation from looping @untoxa
  • Add support for engine plugins, individual C or ASM files placed in PROJECT_PATH/plugins/PLUGIN_NAME/engine/src/ replacing or adding partial parts of the game engine
  • Add support for partial engine files in PROJECT_PATH/assets/engine missing files will be pulled from the default game engine
  • Add support for calling C functions directly from GBVM with VM_CALL_NATIVE, in conjunction engine plugins allows creation of plugin events which call new native C functions
  • Add compile time warning if too many unique projectiles are within a scene
  • Add effect editor to music editor piano roll @pau-tomas
  • Add noise macro preview for music editor @RichardULZ
  • Display channel specific instrument names on instrument select dropdown @pau-tomas
  • Allow editing effects from tracker editor @RichardULZ
  • Allow transposing selected notes in tracker with Ctrl/Ctrl+Shift and Mousewheel or "+" / "-" keys @RichardULZ
  • Add sound effects preview from dropdowns @pau-tomas
  • Add tooltips to all script event labels (also used to auto generate documentation for new site)
  • Add "Music House" to the color sample project with examples of music and sound effects @pau-tomas. Music and sound effects by Tronimal.
  • Add new song template for UGE songs, with new default instruments. Song created by Tronimal.
  • Add support for extending engine.json from plugins @pau-tomas

Changed

  • Updated to latest GBDK-2020
  • Updated to latest GBVM
  • Save/restore RNG seed when saving/loading a game @untoxa
  • Updated Polish localisation. @ReptiIe
  • Optimised Switch event codegen to use VM_SWITCH instruction
  • Optimised codegen to use a stack frame rather than push/pop
  • Improved randomize @untoxa
  • Improved gbspack error when data is over bank size limits
  • Update hUGEDriver @untoxa
  • Hide/show actor now ONLY hides/shows, update scripts & collisions are not affected (existing hide/show events migrated to deactivate/activate for compatibility)
  • Updated Simplified Chinese localisation. @wcxu21
  • Updated German localisation. @attackemartin
  • List of "Variable Uses" now calculated in background thread to reduce pause while reading large projects
  • Timer, input and music scripts set from within a custom script no longer allow the script parameters to be used as they were not working, global variables can now be used instead.
  • Optimised actors_update() and vm_actor_move_to() to improve CPU usage
  • Improve music editor copy/paste with ModPlug compatible clipboard @RichardULZ

Fixed

  • Fixed Wait event in scene init scripts to happen after automatic fade in
  • Fixed issue where animated camera lock would be off by 8x8px
  • Fix vertical shoot em up scene type @um3k
  • Fixed display of errors in game engine files while building
  • Fix issue where activating an actor wouldn't trigger update script @untoxa
  • Fix issue where full magenta characters in font files didn't have zero width
  • Fixed typo in Japanese localisation @RYU-N2001
  • Updated 32-bit Windows app to use correct 32-bit GBDK-2020 (again) @untoxa
  • Fixed issue where relative actor movement on left or top edge of scene would wrap around scene @um3k
  • Fix issue where soft reset could lead to UI tiles over scene tiles @untoxa
  • Fix issue where undoing from music editor would also undo global project changes @pau-tomas
  • Fix compiling noise macros for UGE songs @pau-tomas
  • Fix setting music editor preview start position to a different pattern @pau-tomas
  • Fix issue where projectiles launched at >224 degrees would be facing in wrong direction @john-lay
  • Restore previously playing music when loading game data
  • Fix issue where new patterns added to songs in music editor would not be played until song was reloaded @pau-tomas
  • Fix an issue where fading out mid-scene would cause game to hang @untoxa
  • Fix copying trigger scripts @pau-tomas
  • Fix issue where selecting "Wait until finished" on sound effect events could cause broken scripts containing decimal wait values
  • Fix selecting properties on "Self" such as position and direction @pau-tomas
  • Fix issue where renaming sprite files would lose any attached metadata
  • Prevent user from creating projects ending with a period @patrickmollohan
  • Fix issue where using multiple identical sound events in a project would store the data in the ROM duplicated once for every sound effect call
  • Fix plat_jump_vel maximum value in engine.json @patrickmollohan
  • Fix issue where a commented out actor update script would cause slow down while the actor is onscreen
  • Fix issues with build caching which was requiring cache to be cleared regularly if variable references were changed
  • Fix issue where Drag world mode and Paste event mode could become stuck if using Alt+Tab to switch windows while active
  • Fix issue using single "$" and "#" characters in dialogue
  • Fix issue when setting actor's position to another actor's position using properties @patrickmollohan
  • Fix issue using actor properties from within custom scripts

Removed

  • Removed .CURRENT_SCRIPT_BANK for gbvm scripts as results were unreliable
  • Removed deprecated dividing ratio and shift clock fields from noise instrument editor @pau-tomas
  • Removed loop option on music play event, doesn't work for hUGEDriver and was broken on GBTPlayer. Instead add an empty pattern with an infinite loop (using effect Bxx) to the tracks you want to not loop.

[3.0.3]

Added

  • Added event to determine if device is running on SGB
  • Added event to determine if device is a GBA
  • Added ability to choose from two keyboard layout options for tracker @pau-tomas
  • Added ability to to set the start playback position in music editor by clicking bar above piano roll @pau-tomas
  • Add engine support for text sounds @untoxa
  • Added ability to use values between -32768 and 32767 in variable events @Rebusmind
  • Added ability to clamp to 8-bit while using multiply
  • Added ability to see where automatic Fade In event will appear in Scene "On Init" script with option to disable or change speed
  • Added missing label in Actor Show event @ReyAnthony
  • Add vertical scrolling in last parallax viewport is Speed=1 @um3k
  • Add palette name to tile palette select based on current preview scene @ReyAnthony
  • Added event to manually seed random number generator

Changed

  • Changed if color supported event to return false when game is DMG even if run on color device
  • Changed wording from "Reenable" to "Enable" for toggling events/else @codyjb
  • Update engine to latest hUGEDriver @untoxa
  • Changed default .uge template to be blank MOL-IS-MOL
  • Updated to latest GBDK-2020
  • Improved Math Functions clamp to not require branching
  • Updated Polish localisation. @ReptiIe
  • Updated Simplified Chinese localisation. @wcxu21

Fixed

  • Fixed blurry emulator when running web export on desktop Safari @pau-tomas
  • Fix issue where replacing trigger OnLeave script would replace OnEnter @pau-tomas
  • Fix issue replacing math expression variables in custom events @pau-tomas
  • Fix issue where some events when used in init scripts would cause the script to wait until the scene had faded in before continuing
  • Fix music editor: Instrument name isn't editable @pau-tomas
  • Fix music editor: Ticks per row field updates aren't reflected when playing the song @pau-tomas
  • Fix music editor: Wave form changes are not updating for instrument preview @pau-tomas
  • Improved engine GBA detection @untoxa
  • Fix scroll jitter seen in top-down scenes @untoxa
  • Save executing ctxs when saving game data @untoxa
  • Fixed issue where scene may not fade in some cases where scene init script contained conditional events
  • Fix keyboard accessibility for add/remove buttons in form fields @rik-smeets
  • Fixed issue causing Math event values > 128 to wrap as they were treated as signed 8-bit numbers @Rebusmind
  • Fixed clamp when adding/subtracting negative numbers
  • Generate a new save hash when project changes to prevent crashes when loading invalid data @untoxa
  • Fix crashes when using too many sprite tiles by using GBDK-2020 sprite hiding function @untoxa
  • Fix rendering of garbage when no scene has loaded yet @untoxa
  • Fix overlay hide @untoxa
  • Fix issue where walking events was incorrectly replacing actorIds with $self$
  • Fix issue with saving/loading patterns from UGE files @pau-tomas
  • Fixed issue where changing player sprite mid scene would write over actor tiles (still an issue using "Replace Default Sprite" with a larger than initial)
  • Fix playing note preview when adding to wave channel @pau-tomas
  • Fixed some fields not being localised correctly (such as the top left Project View Button)
  • Fixed issue where random numbers were being seeded every call preventing them from being very random

[3.0.2]

Added

  • Added in-game crash handler screen @untoxa
  • Added support for 16-bit in flag events @Rebusmind
  • Compile files in parallel based on available CPU cores for system

Changed

  • Updated Portuguese localisation. @toxworks
  • Updated Simplified Chinese localisation. @wcxu21
  • Optimised game engine input script checks @untoxa
  • Reimplemented GBSPack in pure JS as binary was incorrectly flagged by anti-virus software on Windows
  • Updated French localisation. @Toinane
  • Player bounce event no longer deprecated
  • Don't prevent jumping when overlapping actor in platform scenes

Fixed

  • Fixed some cases where assets would no longer live reload by switching to using chokidar glob syntax rather than regex filters @RichardULZ
  • Allow tilesets with zero length @untoxa
  • Fix issue where VM_LOCK was not affecting context switching @untoxa
  • Properly detect grouped property fields for events inside custom scripts @pau-tomas
  • Detect variables in math expression events within Custom Scripts @pau-tomas
  • Rebuilt GBDK for Mac to support macOS versions below 10.15 @untoxa
  • Hide sprites when overlay is fullscreen @untoxa
  • Make sequences of control codes in strings "instant" @untoxa
  • Fixed error when saving wave length in music editor @pau-tomas
  • Fixed copy/paste on Ubuntu
  • Fixed codegen for Link Close event @pau-tomas
  • Fixed issue where world view would snap to center of selected scene each time a change was made @tustin2121
  • Fixed accidental movement of scenes/drawing when panning with the middle mouse button @tustin2121

[3.0.1]

Added

  • Improved console errors for gbvm scripts @pau-tomas
  • Improved warning message when no .mod files are found and music engine is set to GBT Player @pau-tomas
  • Additional tracker editor keyboard shortcuts @RichardULZ
  • Added error message if music editor fails to save due to read only permissions
  • Added ability to toggle if input scripts should override default button actions

Changed

  • Updated Polish localisation. @ReptiIe
  • Blank project updated to use hUGEDriver by default
  • Reduced padding on scene info
  • Engine "define" fields now written to state_defines.h file
  • Scene info now highlights actor count in orange if reached (but not over) scene limit
  • Animation state name input now includes pencil button to work closer to variable renaming

Fixed

  • Fixed error when using clamp in math events @pau-tomas
  • Updated 32-bit Windows app to use correct 32-bit GBDK-2020
  • Fixed error when building if any "Actor Set Sprite Sheet" events link to deleted sprites
  • Fix issue when gbvm scripts use .ARG10 and above @RichardULZ
  • Fix issue where music preview would stop working after window loses focus @RichardULZ
  • Fix issue where new template music and font files would be read only by default on Windows
  • Fix issue where migrated emotes and default font would be read only by default on Windows
  • Fix setting fade in / fade out speed
  • Fix for issue migrating projects with references to avatars that no longer exist
  • Fix issue where input scripts wouldn't override default button actions @untoxa
  • Fix issue where input scripts could fire while interact scripts were running (VM is locked)
  • Fix issue where game would crash if more than 19 actors are used in a single scene

[3.0.0]

  • Moved to new GBVM based game engine (big thanks to @untoxa)
  • Added sprite editor with support for large sprites and multiple animation states
  • Added ability to define idle animations, jump and climb animations for platform scenes and hover animations for point and click scenes.
  • Added hUGEDriver music support
  • Added music editor for .uge files (thank you to pau-tomas + Daid and Superdisk for the inspiration and support)
  • Added parallax background support
  • Added math expression events to simplify performing calculations
  • Added support for multiple saves slots
  • Added ability to create .pocket files for use on Analogue Pocket
  • Allow sprites and backgrounds to share vram, lets you use more sprite tiles on backgrounds with fewer tiles
  • Increased the number of background palettes available per scene to 8
  • Added ability to set 8 sprite palettes per scene, sprites can choose which palette to use per 8px x 16px tile
  • Allow cancelling a build in progress
  • Add support for Super GB border images
  • Add ability to store 3 save slots
  • Add ability to fire script when leaving a trigger
  • Added ability to use additional custom emotes by adding images to assets/emotes.
  • Updated “Add Event” menu to group events and allow setting favourites.
  • Moved emulator to use binjgb

[2.0.0-beta5]

Added

  • Add new Splash screen with animated template previews, easier access to documentation and credits easter egg (click the power light)

  • Add live preview of how dialogue will appear in game when hovering over "Display Dialogue" events using ascii.png, frame.png and avatar sprites

  • Add character count to dialogue event text input (52 characters max, or 48 if using an avatar)

  • Add autocomplete and syntax highlighting for variables and speed codes in dialogue

  • Add Engine Property Fields for platfomer physics, 2d grid size, and fade style in settings

  • Add Event: Engine: Field Update for changing platformer physics mid game

  • Add 16bit variables for engine property fields only

  • Create Engine.json with ejected engines, to add your own custom engine properties

  • Add Navigation side bar to left of the editor, Accessible with Tab key and full keyboard navigation

  • Navigation sidebar lists: All scenes, actors/triggers within each scene, Custom Events, Global Variables

  • Navigation Clicking a variable opens a variable editor, to rename the variable, and list all uses of that variable in your project

  • Alt click a variable field in any event (if currently a global variable) to open the variable editor

  • Drag navigator sidebar completely to the left to hide it, to reenable it use the menu item "View / Show Navigator"

  • Add GBDK 2020 v4.0.1

Changed

  • Increased line limit in dialogue boxes to four lines
  • Replaced Fade To Black event with Engine props Fade to black
  • Custom Events are now listed in navigator sidebar only
  • Updated to GBDK2020 v4.0.1 for massive performance increase, new ejected engine mandatory
  • Engine bank push pop functions replaced with __banked for performance increase

### Fixed

  • Fix issue where sidebar tabs could become hidden if translation wasn't able to fit in space available

[2.0.0-beta4]

Added

  • Add ability to override only some of the scene palettes in a Set Background Palette event by using the new "Don't Modify" option
  • Add preferences window allowing manual override of temporary files location
  • Add warning if too many actors are clustered close together in scene (only 10 actors can be onscreen at once)
  • Add ability for input scripts to be attached to multiple buttons at once @patrickmollohan

Changed

  • Updated text events to use monospace font making it easier to determine how text will appear in game
  • Removed dependency of XCode/Command Line Tools being installed on MacOS by no longer using GNU Make during build
  • Add ability to shake vertically and diagonally in Camera Shake event @Xeyler + @patrickmollohan
  • Change UI of Timer and Attach Script events to include tabs for visual consistency @pau-tomas
  • Decrease min width of project window to 640px to allow working on smaller screen sizes @patrickmollohan

Fixed

  • Fix issue with calling javascript functions from events prevent text cropping from working as expected
  • Fix issue with text cropping in menu events where it was possible for menu items to span multiple lines
  • Fix issue with text cropped where variables and speed codes contributed more characters to string length than they should
  • Fix issue where renaming assets in file system would cause uses of that asset in the project to become disconnected
  • Fix copy/paste to keep actor references in events and to preserve local variable names
  • Input scripts override default button behaviour again matching 1.2.0 functionality @pau-tomas

[2.0.0-beta3]

Fixed

  • Fix DE localisation
  • Fix issue where changing a scene's background image would not update the scene's dimensions until the project was reloaded.
  • Fix issue where editing custom events would reset instance of the event to be labelled as "EVENT_CALL_CUSTOM_EVENT" @pau-tomas
  • Fix unnecessary full recompiles when new local variables are added @RichardULZ
  • Fix bug in Platformer scenes where player faces the wrong way after changing direction for a few frames @um3k
  • Fix bug causing crash when selecting values in the property dropdown @pau-tomas
  • Fix bug where hidden pinned actors would sometimes become visible while scrolling

[2.0.0-beta2]

Added

  • Add ability to change scene transitions to "Fade To Black" through global setting with new event to change dynamically @RichardULZ
  • Add menu item and keyboard shortcut to switch project, opening the recent projects list @patrickmollohan
  • Add option to persist player sprite changes between scenes (was previously always persisted) unchecking this will cause the sprite change to only be temporary for the current scene, useful for menus or switching genre
  • Add event to check if current device supports color @pau-tomas
  • Add support for property fields within Custom Events @pau-tomas
  • Add ability to clamp Add & Subtract events to within 0 to 255 without wrapping @Jarod-Lee
  • Dutch localisation. @Auroriax

Fixed

  • Fix issue with project path selector choosing first file in project preventing people from creating new projects @RichardULZ
  • Fix issues using image and music assets with uppercase file extensions @zdurgan
  • Fix issues with "!!!!" being interpreted as a dialogue speed command @RichardULZ
  • Fix collision events which were not firing in Top Down scenes unless player was moving @pau-tomas
  • Fix display of scene connections when scene switch events are used in collision or movement scripts @pau-tomas
  • Fix display of coloured sprites to use 3 colors from palette rather than 4 matching how they appear in game
  • Fix issue where extra destination markers get drawn when switching between connected scenes
  • Fix camera centering on player to match 1.2.0
  • Fix screen tearing during fade transitions

Changed

  • Sample project updated to include music by @RichardULZ
  • Improved error message when player sprite sheet isn't set @pau-tomas
  • Improve wording on Enable Color mode modal to make it clearer that the change can be reversed
  • Add GBT player and Mod2GBT from custom branch @RichardULZ
  • Add Ch4 Noise pitch support, rounded to C, D#, F#, A#, C
  • Add Ch1-3 Portamento (Pitch bends) 1xx & 2xx up to 7F (127 +/-)
  • Add Ch1-2,4 Volume/Envelope propriatary effect 9ve, vol 0-F, envelope down 1-7, up 9-F, 0/8 no envelope
  • Change Cxx preserve last set envelope from 9ve, to set no envelope again, use 9v0
  • Fix Dnn at end of song/pattern reading invalid data
  • Fix unnececary audio pops on some effects
  • Fix unexpected noise from effect only (at song start)
  • Fix ch4 incorrect volume with effect only
  • Fix Note cut EC0
  • Updated Brazilian Portuguese localisation. @laetemn
  • Updated German localisation. @WAUthethird
  • Updated Portuguese localisation. @toxworks

[2.0.0-beta1]

Added

  • Add full color support, each scene can contain up to six 4-color palette (24 colors per scene) and seven different sprite palettes.
  • Add additional genres to Scene Type dropdown, "Platformer", "Shoot Em' Up", "Point and Click" and "Adventure", each one affects player handling in that scene. A single project can use any/all genres as required
  • Add "On Update" script to actors which calls on each frame allowing movement to be controlled manually.
  • Add checkbox to handle collision detection in "Move To" event
  • Add choice on "Move To" to move horizontally first, vertically first or to use diagonal movement. Default is horizontal to match previous functionality
  • Add event to stop any actors's "On Update" script
  • Add event to dynamically switch color palettes used in a scene
  • Add palettes section for editing and creating color palettes
  • Add scene search functionality to World editor toolbar, if only a single scene matches view will scroll to center on that scene
  • Add button to jump from Dialogue Review section to corresponding scene in Game World
  • Add color labels for identifying and grouping scenes
  • Add support for larger background images, up to 2040px in either dimension, maximum width * height of image must be under 1,048,320
  • Increase number of allowed actors and triggers per scene to 30. Up to 10 actors will be visible on screen at the same time.
  • Add ability to pin actors to screen to use as simple HUD elements
  • Add event to switch any actor's sprite sheet dynamically
  • Add event to toggle if an actor should animate while stationary
  • Add event to bounce player while in platform scenes
  • Add ability to create collisions tiles that only affect a single direction e.g. for platforms that you can jump through from below.
  • Add ability to mark tiles as Ladders (only affects Platform scenes)
  • Add choice of 8px or 16px brush sizes when drawing collisions or coloring background
  • Add ability to draw lines when drawing collisions or coloring background by holding shift and clicking
  • Image errors such as too many unique tiles, image too large etc. are now displayed underneath image dropdown in World editor
  • Cache compiled files as much as possible to reduce time required for repeated builds
  • Add projectile and attack events to add weapons to the player or actors
  • Add collision groups to actors/attacks/projectiles with collision scripts to run when an actor collides with a specific group (only player to actor and projectile/attack to actor supported, actor to actor collisions not supported)
  • Add ability to eject game engine, allowing per project overriding of any project source file
  • Migrated compiler to use GBDK 2020
  • Copy/Paste also includes any referenced custom events allowing easier movement between projects
  • Commit hash included in About Window allowing easier identication of which version you are currently using @pau-tomas
  • Improve text drawing animation and add ability to fast forward text boxes by holding a button @RichardULZ / @pau-tomas
  • Add ability to dynamically change text draw speed mid text field using commands "!S0!" for instant draw and "!S5!" for speed = 5 etc
  • Game engine completely rewritten to make less top down rpg genre specific
  • New engine performance optimisation @RichardULZ
  • Merge events where the only difference was values being hard coded or coming from a variable like "Move To" and "Move To Using Variables" by adding button next to input that allows switching between variable, value or a new property type. Also allows mix of hard coded and variable values in single event. Feature known internally as union types
  • Custom events updated to support union types @pau-tomas
  • Add additional Animation Speed option "None". Setting this will prevent actor from animating at all. Static actors will now cycle through frames while moving unless this value is set.
  • Add support for macOS full screen mode

Fixed

  • Fix bug where deleting a custom event definition that was used multiple times in a single script would only delete the first instance of the event
  • Fixed Ctrl + Z and Middle click behavior on Windows @RichardULZ
  • Fix custom events issue where some events wouldn't show their variables in the custom event parameters @pau-tomas
  • Lots of bug fixes / helping get the open beta build ready @pau-tomas and @RichardULZ
  • Prevent actor sprites from overlapping dialogue boxes
  • Fix issues when trying to use more than 256 sprites in a single game
  • Fix issues when saving progress if project contained more than 256 scenes

Changed

  • Pushing actors now uses a 16px x 16px collision box rather than 16px x 8px, this will make Sokoban puzzles work better but could cause issues if you depended on the old behaviour
  • Scene connections now by default only shows connections to/from the currently selected scene. The old default is available in "View/Show Connections/All"
  • When not in color mode the Game World section will display images in the same palette as the emulator
  • Event "Attach Script To Button" now doesn't persist between scenes by default, old functionality is still available using a new "persist" checkbox but new events that depend on sprite memory layout may have issues when persist is enabled (Projectiles/Attack/Actor Set Sprite Sheet)
  • Top Down scenes now use the last pressed direction button for current movement direction improving controls when using a keyboard

Removed

  • Remove "Double Speed Mode" settings checkbox, when Color is enabled this is now enabled automatically
  • Remove actor "Movement Type" dropdown, replaced with "On Update" script. Existing actors set to Random Walk / Random Rotation will be migrated automatically

[1.2.1]

Added

  • Allow variables to be used in choice and menu events. @pau-tomas
  • Switching scene background will keep current collisions if image hasn't had collisions set already. @RichardULZ

Changed

  • Updated Portuguese localisation. @toxworks
  • Updated Brazilian Portuguese localisation. @junkajii

Fixed

  • Fix bug where color palettes would appear in different shades to provided hex codes when viewed in game
  • Fix bug where event buttons would become stuck in paste mode when switching windows while holding Alt key
  • Fix bug where projects could be made with invalid filenames
  • Fix bug where collisions couldn't be placed if "Show Collisions" setting was off.
  • Fix bug where variable lists sometimes showed old names.
  • Fix bug where game engine would occassionally be corrupted in Window 10 builds @chrismaltby + @RichardULZ
  • Fix bug where overlays would prevent timer scripts from running @RichardULZ
  • Fix bug where opening menu would modify text draw speed. @pau-tomas

[1.2.0]

Added

  • Add OnInit script to each actor.
  • Add preview in dropdowns for scenes, actors and sprite sheets.
  • Add ability to paste events by holding Alt while clicking event buttons.
  • Add language select to view menu.
  • Generate backups of previous version before saving.
  • Sidebar supports two column layout when wide enough.
  • Each actor/trigger/scene given four local variables.
  • Add ability to remap keyboard controls.
  • Add ability to set custom HTML header in web builds.
  • Add custom cursors depending on tool state.
  • Alternating row colors while scripting.
  • Add ability to disable events.
  • Add ability to disable else branch in conditional events.
  • Add ability to use any variable in text (no longer only first 100).
  • Add event to disable/enable collisions per actor.
  • Add Switch event.
  • Add Settings section grouping project settings together and adding settings for custom keyboard controls and custom HTML header.
  • Add support for GameBoy Color palettes. @fydo
  • Add support for GameBoy Color double CPU mode. @pau-tomas @RichardULZ
  • Add menu event. @pau-tomas
  • Add 'Self' to actor selector. @pau-tomas
  • Add custom events functionality. @pau-tomas
  • Add avatars to text dialogue. @pau-tomas
  • Add support for bit flag variables in scripting. @pau-tomas
  • Add Comments in scripting. @ManuGamesDev
  • Add sound effects. @gregtour
  • Add timer events. @gregtour
  • Add Gamepad support @bbbbbr
  • Add events to save and restore actor direction using variables. @ManuGamesDev
  • German localisation. @WAUthethird
  • Spanish localisation. @WAUthethird
  • Norwegian localisation. @thomas-alrek
  • Italian localisation. @marcosecchi
  • Latin American Spanish localisation. @foobraco
  • Polish localisation. @MajkelKorczak
  • Korean localisation. @juni070127
  • Japanese localisation. @cubicstyle
  • Scots localisation. @Cobradabest

Changed

  • Update Windows 32-bit to use GBDK 2.96.
  • Prevent actors from leaving scene edges.
  • Refactor to handle larger project files.
  • Rebuilt event system allowing easier community contributions.
  • Update Windows 64-bit to use GBDK 2.96. @gregtour
  • Updated Brazilian Portuguese localisation. @junkajii
  • Updated Portuguese localisation. @toxworks
  • Improve emulator audio. @RichardULZ
  • Improve keyboard controls in event search. @allie
  • Improve template.mod music file. @RichardULZ

Fixed

  • Fixed MBC1 support.
  • Fix issues flushing sava data on Windows
  • Fix issue where copy / pasting scenes would break actor connections in scripts
  • Fix collisions at bottom edge of screen.
  • Ignore invalid PNG images when loading project.
  • Release held buttons when emulator loses focus.
  • Fix for issue with cursor position moving while editing dialogue @MattTuttle
  • Fix GBTplayer ch4 pan fx @RichardULZ
  • Fix bug when Actor Invoke is used with conditional statement @RichardULZ
  • Fixed issue where multi-frame static actors would animate while moving @RichardULZ
  • CameraMoveTo speed fixes @RichardULZ

[1.1.0] - 2019-05-18

Added

  • Support for animating sprites by cycling between frames of animation.
  • Ability to use variables in text by using new variable id placeholders "You have $01$ gold".
  • Events for Saving and Loading your game.
  • Event for attaching scripts to button inputs.
  • Extra actor commands for setting relative position, check facing direction. @thomas-alrek
  • Math commands, random numbers, add, subtract, multiply and divide variables with each other other and much more. @thomas-alrek
  • Events for pushing and popping scenes from a stack allowing nested menus to be created returning back to your initial position when closed. @thomas-alrek
  • Event to invoke a script from another actor. @thomas-alrek
  • Pan around world viewer using Alt + click, middle click or by clicking and dragging in the space between scenes.
  • Ability to control zoom using pinch gestures or Ctrl + Mouse Wheel @thomas-alrek
  • Drag and drop actors and triggers between scenes.
  • Ability to type text directly into Add Event search and have it create a new Display Text module with the text you entered.
  • Event for controlling text open, draw and close animation speeds. @RichardULZ
  • All script events are now collapsable and can be renamed.
  • Dark mode theme selection to Windows and Linux.
  • Ability to select GameBoy cartridge type.
  • Ability to control movement and animation speed of actors.
  • Support for copy and paste for scenes, actors, triggers and scripts.
  • Event groups allowing you to better organise your scripts.
  • Notes fields to project, scenes, actors and triggers. @thomas-alrek
  • Splash page now has a list of recently opened projects.
  • Editor sidebar now resizable. @thomas-alrek
  • Support for 32-bit Windows.
  • Support for localisation of the app (now accepting pull requests for all languages).
  • Chinese localisation. @InchouRyu
  • Brazilian Portuguese localisation @junkajii
  • Portuguese localisation @toxworks

Changed

  • Display text event now supports up to 3 lines of text.
  • Warnings when image assets don't follow specifications are now more noticeable in build phase.

Fixed

  • Fixed audio bugs in emulator where sound would pop as emulator opened and closed.
  • Fixed vsync tearing. @RichardULZ
  • Input handling fixes on Windows build.
  • Lots of other bug fixes.

[1.0.0] - 2019-04-17

Initial GB Studio Public Release