You do not have permission to edit this page, for the following reason:
Free text:
{{#seo: |title= (Other Apps) - GameBrew |title_mode=append |image=ScratchEverywhereWiiU.png |image_alt=Scratch Everywhere Wii U }} Scratch Everywhere! is a work-in-progress runtime written in C++ that lets you run Scratch 3 projects. Initially developed for the 3DS, it now supports a number of 6-8th generation consoles including Wii, Wii U, NDS, PSP, Vita, Switch and PS4. ==Features== * Many Scratch projects playable out of the box. * Custom blocks exclusive to Scratch Everywhere. * Mouse input - Mapped to the Wii U GamePad touchscreen. * Screen modes - Currently projects display identically on both the TV and GamePad. * Framerate - When using a modded Scratch client like TurboWarp, you can enable the <code>60 FPS (Custom FPS)</code> advanced option, and change the FPS to any value. * Audio - A sound may take time to load if playing it for the first time. ** If you play any sound from the <code>Stage</code>, the sound will play as a <code>Streamed Sound</code> and will not need to load. ** Only one <code>Streamed Sound</code> can be playing at a time, so this is good for things like background music. ==Installation== Download the scratch-wiiu.zip file from the [https://github.com/ScratchEverywhere/ScratchEverywhere/releases Releases] page. Unzip to sdcard:/wiiu/apps/ on your SD card. Place Scratch projects in sdcard:/wiiu/scratch-wiiu/ folder. Launch Scratch Everywhere! from the Wii U menu or Homebrew Launcher. See [https://github.com/ScratchEverywhere/ScratchEverywhere/blob/main/README.md#controls readme] for controls. == SE! Project Settings == === Change Controls === * Allows you to change the default controls of a project to your liking. === Unpack Project === * Allows you to unzip a project and run it in its unzipped state. * An unzipped project is displayed as a yellow box with a lightning icon. * Unzipping a project has the benefit of not needing the full project and its assets stored in RAM, which is useful depending on the device. * Note: you will have to unzip the project every time you make changes to it. === [3DS, NDS] Bottom Screen Only Mode === * <code>Off</code> by default. * Makes a project use the bottom screen instead of the top screen. === Pen Mode === * Options: <code>Fast</code>, <code>Accurate</code>. * <code>Fast</code> by default. * Setting it to <code>Accurate</code> gives the Scratch-Accurate pen look. * Setting it to <code>Fast</code> can give a significant improvement to Pen performance, at the cost of pen lines being rectangular instead of circular. === Collision Mode === * Options: <code>Fast</code>, <code>Accurate</code>. * <code>Accurate</code> by default on all platforms except for NDS. * Setting it to <code>Accurate</code> gives the <code>touching ___</code> block Scratch-Accurate bitmask collision. * Setting it to <code>Fast</code> gives the <code>touching ___</code> block simple rectangle collision, which gives a significant improvement to performance at the cost of accuracy. === Show FPS === * <code>Off</code> by default. * Turning this on shows debug Monitors, giving you FPS and Frametime information. === Keep Project In RAM === * <code>On</code> by default on all platforms except for NDS, PSP and GameCube. * Similar to the <code>Unpack Project</code> setting, turning this off has the benefit of not needing the full project and its assets stored in RAM. * Turning this off will make assets take longer to load. ==Limitations== * Most Extensions (e.g. music extension) are not yet supported. * Only the Pen, Text to Speech (Wii U, 3DS, Linux, and Windows only), and Makey Makey extensions are currently supported. * Some blocks may lead to crashing/unintended behavior (Please open an issue if you know of a block that's causing problems). * Performance is poor when using many (~50+) clones (memory management issue). * [Switch, PSP, Vita, PS4] Cloud Variables aren't currently supported, but likely will be in the future. * [Wii, Wii U, GameCube, Switch] The first controller connected will be the only one that will work. * [Wii, GameCube] Cloud Variables will not be supported. * [GameCube, NDS, PSP] These platforms have very little memory, so try to keep projects small. * [NDS] Dual screen mode will not be supported. * [PSP] Images cannot be over 512x512. * [Vita] Back touch will not be supported. * [PS4] The software keyboard isn't currently supported. ==Media== '''Porting Scratch to the 3DS''' ([https://www.youtube.com/watch?v=Whs7Fy8lwzA NateXS]) <br> <youtube width="640">Whs7Fy8lwzA</youtube> ==Changelog== '''Beta Build 39.1''' * Runtime Changes ** Fix audio not working on some devices (Windows, GameCube, etc) ** Fix audio not working when <code>Keep Project In RAM</code> is turned off '''Beta Build 39''' * Runtime Changes ** '''Complete Runtime Rewrite!''' (Via PR [https://github.com/ScratchEverywhere/ScratchEverywhere/pull/583 #583]) *** [https://github.com/Br0tcraft @Br0tcraft] has been working for months to almost completely rewrite the way Scripts in SE! are run, which now more closely resembles Scratch's <code>Thread</code> architecture! *** The rewrite fixes many bugs ([https://github.com/ScratchEverywhere/ScratchEverywhere/issues/500 #500] for example), and boosts performance a ton! *** Many projects that weren't playable before, or had weird issues, are now completely playable! *** There may be some bugs introduced with this change, so please be sure to report any bugs you find! *** This change has also resulted in some of the caching features added in previous betas getting removed. The removed caching features will be re-added in the next release. ** '''Complete Audio Rewrite''' (Via PR [https://github.com/ScratchEverywhere/ScratchEverywhere/pull/582 #582]) *** [https://github.com/NishiOwO @NishiOwO] has rewritten audio from the ground up to no longer rely on SDL's mixer libraries! *** More audio formats are now supported, and the <code>Pitch</code> and <code>Pan left-right</code> audio effects now work on all platforms! *** You no longer need to put sounds in the Stage for streamed audio, as now every Sprite will have it! *** Unfortunately with this change, we were not able to get audio working for the NDS, so this release on NDS will have audio temporarily disabled. ** Added support for TurboWarp's <code>Custom Reporter</code> extension ** Added support for <code>Translate</code> Scratch extension (Via PR [https://github.com/ScratchEverywhere/ScratchEverywhere/pull/612 #612]) *** Adding this extension was partly the reason the Runtime was rewritten in the first place, since scripts in the old Runtime couldn't yield if a reporter returned nothing that frame. ** Added <code>Warp Timer</code> Project setting *** Having this enabled makes scripts check if they've been running for a long time (500 ms), and run at a low framerate instead of getting stuck until the loop finishes. *** This is similar to Scratch's behavior. It fixes crashes/freezes but may cause a performance impact on some devices, so turning it off may improve performance. ** Only downscale images on some platforms (<code>NDS</code>, <code>PSP</code> and <code>GameCube</code>) *** Images on all platforms used to be down-scaled by 2x to save on RAM/VRAM usage *** Since Scratch internally doubles the size of each image, there should've been no visual difference. However, some projects don't have their image size doubled, making it look pixelated in SE! ** Sprite fencing is now more accurate ** Fix memory leak when an image fails to load ** Fix parsing crash if certain project/Sprite properties were empty * Switch Changes ** Fixed touch screen not working * Credits ** This beta was brought to you by: [https://github.com/gradylink @gradylink], [https://github.com/poipole807 @poipole807], [https://github.com/NishiOwO @NishiOwO], [https://github.com/Br0tcraft @Br0tcraft], and [https://github.com/NateXS @NateXS] '''Beta Build 38.1''' * Runtime Changes ** Added <code>Collision Mode</code> Project setting *** Setting it to <code>Accurate</code> gives you the new collision introduced in Beta 38. *** Setting it to <code>Fast</code> makes the <code>touching __</code> block use (non-rotated!) rectangles for collision. *** It is set to <code>Accurate</code> by default on all platforms except for NDS. ** Changed Sprite fencing a bit ** Fixed Username when using cloud variables * Wii U Changes ** Fixed controls not working * 3DS + NDS Changes ** Fixed memory leak when using <code>Accurate</code> collision mode * PC Changes ** Fix thread memory leak '''Beta Build 38''' * Parity Changes ** Accurate Sprite collision! (Via pull request [https://github.com/ScratchEverywhere/ScratchEverywhere/pull/586 #586]) *** When using the <code>Touching ___</code> block, collision now uses accurate bit-masks instead of rotated rectangles! *** On 3DS and Wii, these bit-masks are 2 times lower in resolution. On NDS, PSP and GameCube, they are 3 times lower. This is to save performance. *** Do note that this update does NOT add support for color touching blocks. ** Add support for <code>When Stage Clicked</code> block ** Make base conversions work with doubles * Runtime Changes ** Finished migrating all platforms to CMake! *** This makes it easier for us to add new platforms and features later down the road ** Only load SVG fonts when needed instead of at the start of the app ** General code refactoring under the hood * Menu Changes ** The <code>Bottom Screen</code> project option no longer shows up on platforms that don't have it ** Pressing <code>L</code> and <code>R</code> takes you up and down pages ** Project now stays selected when going from Project Settings menu ** Mouse no longer keeps priority when using a controller/keyboard to navigate the menu * Windows Changes ** Add support for <code>Text To Speech</code> Extension * 3DS Changes ** <code>Say</code> and <code>Think</code> blocks now work correctly in dual screen mode * Authors ** This beta was brought to you by: [https://github.com/gradylink @gradylink], [https://github.com/NishiOwO @NishiOwO], [https://github.com/poipole807 @poipole807], [https://github.com/Dogo6647 @Dogo6647] and [https://github.com/NateXS @NateXS]<br /> * Contributors ** [https://github.com/Dogo6647 [[File:https://avatars.githubusercontent.com/u/72993362?s=64&v=4|@Dogo6647]]] ** [https://github.com/NishiOwO [[File:https://avatars.githubusercontent.com/u/89888985?s=64&v=4|@NishiOwO]]] ** [https://github.com/NateXS [[File:https://avatars.githubusercontent.com/u/149607394?s=64&v=4|@NateXS]]] ** [https://github.com/gradylink [[File:https://avatars.githubusercontent.com/u/209573091?s=64&v=4|@gradylink]]] ** [https://github.com/poipole807 [[File:https://avatars.githubusercontent.com/u/221542569?s=64&v=4|@poipole807]]] '''Beta Build 37''' * Runtime Changes ** The SVG Update!! *** Switched SVG backends from [https://github.com/memononen/nanosvg NanoSVG] to [https://github.com/sammycage/lunasvg LunaSVG] (Via [https://github.com/ScratchEverywhere/ScratchEverywhere/pull/568 #568]) **** LunaSVG supports many more SVG features, so things such as bitmap images inside of vector images are now supported! *** LunaSVG also allows us to support text inside of vector images! **** Many of Scratch's default fonts (<code>Pixel</code>,<code>Sans Serif</code>, <code>Serif</code>, <code>Handwriting</code>, <code>Marker</code>, <code>Curly</code>) are supported **** Other fonts will fallback to a default font **** The app size has increased a bit due to having to embed all the fonts *** Added the ability for SVG images to scale up and down in resolution (Via [https://github.com/ScratchEverywhere/ScratchEverywhere/pull/571 #571]) **** This means SVG images should no longer be pixelated when at an increased size! ** Performance Updates *** Added <code>Pen Mode</code> Project Setting **** When <code>Pen Mode</code> is set to fast, Performance with pen is way faster, with the tradeoff of rendering pen strokes as rectangles instead of circles **** Fast pen is good for when your project has hundreds of pen blocks being called every frame, otherwise Accurate pen is still a good choice *** Added <code>Show FPS</code> Project setting **** When turned on, it adds debug Monitors showing you FPS and Frame Time information *** Added <code>Keep Project In RAM</code> Project Setting **** When turned off, the entire .sb3 project file will no longer be kept in RAM, which is great for large projects on low RAM devices **** Assets (Images and Sounds) will take longer to load when this option is turned off **** This option is on by default for all devices except for NDS, PSP, and GameCube *** Increased Performance by Caching a bunch of data (Variable/List data, block handlers, etc) (Via [https://github.com/ScratchEverywhere/ScratchEverywhere/pull/565 #565]) **** In some cases this improves performance quite significantly! **** This is not available for Low RAM devices (PSP, NDS, 3DS, GameCube, Wii) ** Fixes *** Fixed crash when loading RomFS projects * Parity Changes ** Added support for <code>data_variable</code> and <code>data_listcontents</code> hidden blocks (Via [https://github.com/ScratchEverywhere/ScratchEverywhere/pull/569 #569]) ** Fixed parsing error when parsing block field values that are arrays * Menu Changes ** Projects are now sorted Alphabetically ** The Unpacked Project button is now a vector instead of a bitmap image * PSP & PS Vita Changes ** PSP and Vita are now built in Release mode *** This means that performance on these devices should now be much better! ** [Vita] denoise livearea background * PS4 Changes ** Enable VSync * This Beta was brought to you by; [https://github.com/gradylink @gradylink], [https://github.com/Dogo6647 @Dogo6647], [https://github.com/NishiOwO @NishiOwO], [https://github.com/DevelopCMD @DevelopCMD], [https://github.com/poipole807 @poipole807], [https://github.com/PwLDev @PwLDev], and [https://github.com/NateXS @NateXS] '''Beta Build 36''' * Runtime Changes ** Refactored a bunch of image code under the hood *** This also has the side effect of fixing some Sprite position and brightness effect issues ** The <code>touching __</code> block has been optimized ** Fixed default controls getting set even when custom controls are set * Parity Changes ** Support <code>undefined</code> as a value ** Add support for <code>motion_xscroll</code>, <code>motion_yscroll</code>, and <code>sensing_userid</code> blocks ** Variable monitors can now only display numbers at up to 6 decimal places ** All via PR ([https://github.com/ScratchEverywhere/ScratchEverywhere/pull/563 #563]) * 3DS Changes ** Fixed position/fencing issues on custom resolution projects ** Fixed memory leak when freeing audio ** Fixed Audio cracking and slowdown issues on Old 3DS (Via an [https://github.com/libsdl-org/SDL/pull/15060 SDL PR]) * webOS Changes ** Fixed project path being incorrect * PSP Changes ** Disabled VSync '''Beta Build 35''' * Runtime Changes ** Fix crash when loading audio in unpacked projects ** Fix custom blocks still running after deleting the sprite ** Added support for TurboWarp's 0 FPS option ** Fix controls not being set sometimes ** Pen is now cleared when exiting a project ** Fix high DPI displays being scaled weirdly (via [https://github.com/ScratchEverywhere/ScratchEverywhere/pull/552 #552]) * Parity Changes ** Added <code>is online?</code> block *** Please note that this block isn't correctly implemented, as it will only return true if your build supports cloud variables. ** Added support for the <code>slider</code> Monitor type ** Added pages to <code>list</code> Monitors ** The <code>Stop All</code> block no longer takes you to the main menu *** To get to the main menu, you can pause the Project by holding <code>start</code> for 3 seconds. ** Changed Sprite layering to be closer to Scratch ** Fixed some parity issues with <code>Backdrop</code> blocks ** The <code>mod</code> block can now return <code>NaN</code> ** The <code>x contains x</code> block is now case-insensitive ** <code>Sound</code> blocks now yield for 1 tick ** The <code>Size</code> reporter block now has its value rounded * 3DS Changes ** Fix bottom screen being white in Dual-Screen mode ** Fix text position being a bit too far down '''Beta Build 34''' * Menu Changes ** The main menu is no longer jolly.... * Parity Changes ** Implemented all <code>Say</code> and <code>Think</code> blocks! *** Via PR [https://github.com/ScratchEverywhere/ScratchEverywhere/pull/538 #538]! Thanks [https://github.com/roccopm @roccopm]! ** Implemented <code>Switch Backdrop to x And Wait</code> block ** Fixed position of monitors (visible variables) when using a custom Project resolution ** Sprite fencing should now be a bit more accurate ** Fixed some Sprite layering issues ** Fixed <code>Delete This Clone</code> block sometimes not working ** Fixed Broadcast blocks not working in some projects ** Fixed number overflow issues * Runtime Changes ** Fixed collision on non-rotated Sprites * 3DS Changes ** Monitors are now supported in Dual-Screen mode * Credits ** This beta was brought to you by: [https://github.com/roccopm @roccopm], [https://github.com/poipole807 @poipole807], [https://github.com/PwLDev @PwLDev], [https://github.com/Dogo6647 @Dogo6647], [https://github.com/gradylink @gradylink] and [https://github.com/NateXS @NateXS] '''Beta Build 33''' * Runtime Changes ** Fixed a bug causing the app not to launch on Windows, Wii U, NDS, and PS4 ** Added support for <code>Pitch</code> and <code>Pan left-right</code> audio effects *** These effects are currently only available on SDL3 devices (3DS, Linux, Mac) ** Fixed monitors, collision, and mouse being in the wrong position ** Fixed mouse position being set to the top left of the screen on touch screen devices ** Re-Added mouse mode to devices with no touch screen or mouse support (PS4, PSP, GameCube) * Menu Changes ** Removed NDS menu music from non-NDS platforms *** This means SE! will have a smaller file size! ** Splash text is no longer the default <code>Everywhere!</code> on some devices * 3DS / NDS Changes ** The trackpad mouse behavior on top screen projects has been removed, and replaced with normal touch screen behavior * MacOS Changes ** Updated to SDL3 *** NOTE: Intel macs are still using SDL2. ** <s>New Icon</s> *** Due to an issue, there is no longer an icon. '''Beta Build 32''' * Menu Changes ** Added a Project pause menu *** Accessed by holding <code>Start</code> for 3 seconds while in a project (1 on keyboard) *** Currently has the ability to exit a project, re-run a project, and toggle Turbo Mode *** This feature is not accessible in RomFS projects ** Updated logo (Via [https://github.com/ScratchEverywhere/ScratchEverywhere/pull/514 #514]) ** Added the ability to change the path that projects will be found in ** Menu music can now be turned off in menu settings ** Added new menu splash text, some that could even use your username! ** Fixed menu splash text position being off at higher resolutions * Runtime Changes ** We did a whooole lot of code refactoring under the hood *** This may introduce new bugs we aren't aware of yet, so be sure to open an issue if you find one! ** OpenGL Port! (Via [https://github.com/ScratchEverywhere/ScratchEverywhere/pull/512 #512]) ** The <code>Open Project</code> custom block can now open projects inside of the RomFS (Via [https://github.com/ScratchEverywhere/ScratchEverywhere/pull/508 #508]) *** [https://scratchbox.dev/project/twStEkSKjQaH Info about the <code>Open Project</code> block for those unaware] ** The <code>Text To Speech</code> block will no longer run if it fails to download the audio track ** Fixed cloud variables not working if changing more than 1 variable at a time ** Fixed the position of Sprites being off sometimes * Parity Changes ** Fixed the order in which <code>When I start as clone</code> blocks run ** Fixed <code>Next Backdrop</code> block not working ** You can no longer click on a Sprite that has a <code>ghost</code> effect of 100 ** The <code>For Each</code> block now has better parity ** The <code>When Key Pressed</code> block is no longer tied to the FPS ** Turbo Mode now works like Scratch ** The <code>Broadcast and Wait</code> block now works like Scratch ** Fixed the run order of repeating blocks ** Fixed repeat loops not working if ran for over 10.6 years ** Added more accurate <code>double</code> to <code>string</code> conversion (Via ([https://github.com/ScratchEverywhere/ScratchEverywhere/pull/520 #520]) ** Variables can no longer be an <code>int</code> ** Fixed some custom blocks not working * 3DS Changes ** Collision in Dual-Screen mode is now correct ** Mouse position in Dual-Screen mode is now correct * PC Changes ** The <code>username</code> block can now get your PC's username ** Settings are now stored in your OS's respective configuration folder. * NDS Changes ** Added new menu music * This beta was brought to you by: [https://github.com/Dogo6647 @Dogo6647], [https://github.com/poipole807 @poipole807], [https://github.com/Br0tcraft @Br0tcraft], [https://github.com/leap0x7b @leap0x7b], [https://github.com/gradylink @gradylink], [https://github.com/roccopm @roccopm], [https://github.com/DevelopCMD @DevelopCMD], [https://github.com/Starlii10 @Starlii10], aaaaand [https://github.com/NateXS @NateXS] '''Beta Build 31''' * Runtime Changes ** Updated the main menu UI to support touch scrolling ** Fixed Project Unpacking not working ** Fixed Custom Controls menu not working ** Added new splash text ** Improved the appearance of on screen variables and lists (Via [https://github.com/ScratchEverywhere/ScratchEverywhere/pull/489 #489] and [https://github.com/ScratchEverywhere/ScratchEverywhere/pull/499 #499], thanks [https://github.com/leap0x7b @leap0x7b] !) ** <code>Touching</code> blocks now have more consistent collision (still box collision, just more accurate) ** Fixed <code>Stop "This Script"</code> block sometimes not working ** Fixed offset when dragging Sprites ** Fixed some <code>Sound</code> block issues ** Fixed Sprites sometimes being in the wrong position for one frame * Parity Changes ** [https://github.com/Geotale @Geotale] dropped a huge lootbox showing a bunch of parity issues with SE! ([https://github.com/ScratchEverywhere/ScratchEverywhere/issues/498 #498]), and we've been working to fix them all! The changes won't be listed here since it's many small technical changes, but I recommend you look at the issue if you're a hardcore Scratcher. ** Sprites can no longer touch itself with the <code>Touching</code> block ** The <code>Stage</code> Sprite can no longer be cloned ** Scratch 2.0 <code>Pen</code> blocks have been implemented ** Fixed <code>Broadcast</code> and <code>Effect</code> blocks not working in Scratch 2 projects migrated to Scratch 3 (Via [https://github.com/ScratchEverywhere/ScratchEverywhere/pull/494 #494] and [https://github.com/ScratchEverywhere/ScratchEverywhere/pull/496 #496], thanks [https://github.com/kalomaze @kalomaze] !) * 3DS Changes ** Fixed Sprite flipping sometimes not working ** Fixed Pen rendering on dual screen and bottom screen modes * NDS Changes ** Fixed Sprites not rendering in the correct position * Switch Changes ** Updated icon to be less blurry * webOS Changes ** The webOS port is currently in review to be added to the webOS Homebrew store! * PS4 Changes ** Disabled the loading screen temporarily due to a crashing issue '''Beta Build 30.1''' * Runtime Changes ** Fixed a bug causing projects to not get found in the Main Menu on some devices ** Fixed being able to click Sprites while they're hidden '''Beta Build 30.1''' * New Features ** WebOS port! *** It's!! TV!! Time!!!! *** Scratch Everywhere! has been ported to WebOS, meaning any TV running this OS can now play Scratch games! *** Bluetooth controllers, wired controllers, and even the TV Remote can be used as input! *** From [https://github.com/Dogo6647 @Dogo6647] (PR [https://github.com/ScratchEverywhere/ScratchEverywhere/pull/471 #471]) ** [Wii U, 3DS] <code>Text to Speech</code> extension support! *** Works by using Scratch's Text-To-Speech API to send speech data to the device *** From [https://github.com/Br0tcraft @Br0tcraft] (PR [https://github.com/ScratchEverywhere/ScratchEverywhere/pull/480 #480]) ** <code>Makey Makey</code> extension support! *** From [https://github.com/poipole807 @poipole807] (PR [https://github.com/ScratchEverywhere/ScratchEverywhere/pull/482 #482]) ** [PC] SDL3 support! *** Due to an issue, only Linux will be using SDL3 for this release. Windows and MacOS will continue to use SDL2 for a little while as we figure out a fix. *** From [https://github.com/gradylink @gradylink] (PR [https://github.com/ScratchEverywhere/ScratchEverywhere/pull/439 #439]) ** SDL1 support! *** This will enable us to port Scratch Everywhere! to platforms where SDL2 and 3 aren't available! *** From [https://github.com/leap0x7b @leap0x7b] (PR [https://github.com/ScratchEverywhere/ScratchEverywhere/pull/475 #475]) * Runtime Changes ** Added festive music to the Main Menu! (Tunes as always from [https://github.com/Dogo6647 @Dogo6647]) *** This change also has the added benefit of reducing the load times of the Main Menu ** Refactored input under the hood to be a bit more consistent ** Fixed Pen stamping not working if the Sprite is hidden ** Pen stamping now accounts for Sprite's size ** Improve Runtime performance when accessing the Stage Sprite ** <code>Change Costume</code> blocks with numbers as input now prioritize the costume name over the costume number ** Fixed <code>When this backdrop switches to</code> block not working correctly ** The Runtime now properly cleans up images when running out of RAM ** Fixed Sprite sorting when cloning ** Fixed even more audio issues when a project is unzipped ** Fixed crashes related to parsing numbers ** Fixed crash when sometimes trying to load the position of a comment ** Fixed <code>+Infinity</code> not working correctly ** Allow for hacked dropdown inputs ** Added <code>Core Example</code> Extension ** Implement Scratch's weird spacing rules with <code>List</code> reporter blocks (PR [https://github.com/ScratchEverywhere/ScratchEverywhere/pull/467 #467]) ** Fixed whitespace comparison (PR [https://github.com/ScratchEverywhere/ScratchEverywhere/pull/464 #464]) ** Fixed the order in which blocks run * 3DS Changes ** Increased command buffer size *** This basically means you can have more Sprites on screen at once without having it crash! ** Increased performance a bit by messing with VSync settings ** Fixed crash when trying to render an image that fails to load * Wii / GameCube Changes ** Added <code>Streamed</code> Sound Support! * PSP Changes ** Fixed <code>RomFS</code> projects not working '''Beta Build 29''' * New Features ** PSP Port! * Switch Changes ** Upgraded to the latest <code>libnx</code> version, meaning SE! is now supported on Firmware <code>21.0.0</code>. * 3DS Changes ** Fixed app not closing when closed from the Main Menu * Runtime Changes ** The Main Menu is feeling a bit jolly... ** Changed <code>Arialn</code> font to <code>Liberation Sans Narrow</code> font * Parity Changes ** Added instant block execution *** In Scratch, if nothing on screen happens, all blocks run as if <code>Run Without Screen Refresh</code> was on. SE! now handles this behavior. ** Sprites now correctly run their blocks in layer order ** The <code>direction</code> blocks are now correctly clamped and rounded ** The <code>Change Variable by x</code> block now works correctly when putting in letters as input ** Fixed some blocks not running without screen refresh when they should ** The <code>Pick random</code> block now correctly works with non-decimal numbers ** <code>NaN</code> is now correctly handled as a number when put in block inputs ** Booleans now work as they would in Scratch ** Uppercase letters in hex colors now work correctly ** SE! now handles Scratch's rare <code>null</code> input bug correctly ** Fixed <code>Broadcast and wait</code> block's weird behavior from a clone who's ready to be deleted '''Beta Build 28''' * Runtime Changes ** Added Music to the Main Menu (tunes by [https://github.com/Dogo6647 @Dogo6647] !) ** '''[Non-3DS Platforms]''' Added support for TurboWarp's <code>High Quality Pen</code> option ** Fixed audio issues with unzipped projects *** Fixed sounds not being able to replay *** Fixed sounds not being able to change volume ** Fixed a bunch of parity issues related to <code>Infinity</code> and <code>nan</code> numbers ** Fixed crashes related to <code>list</code> blocks ** Projects that contain Lists with many items now load faster ** The [https://scratchbox.grady.link/project/twStEkSKjQaH <code>Open project</code> block] can now choose projects from the SD card (Via pull request [https://github.com/ScratchEverywhere/ScratchEverywhere/pull/425 #425]) * PC Changes ** Builds for Windows, MacOS, and Linux will now be put in releases! ** Migrated to <code>CMake</code> for compilation ** Added support for RomFS projects * PS Vita Changes ** Fixed audio not working ** Sped up compilation time * DS Changes ** Fixed audio not working * 3DS Changes ** Fixed Pen texture being off by 1 pixel '''Beta Build 27''' * DS Port! ** They thought it was impossible... but impossible is my middle name. ** It's recommended that you read the README for the limitations of this port! ** You will likely come across many crashes, so please open up a GitHub issue if you experience them! ** '''KNOWN ISSUES''' *** Unpacking projects and changing controls crash the system *** Cloud variables will not be supported *** RAM is very limited, so try to keep projects small *** A bunch of Audio limitations, see README for details ** Via pull request [https://github.com/ScratchEverywhere/ScratchEverywhere/pull/362 #362]! * Web Port! ** [https://github.com/gradylink @gradylink] has ported the Runtime to WebAssembly! ** With this, [https://scratchbox.grady.link/ ScratchBox] is also updated to use SE! ** Via pull request [https://github.com/ScratchEverywhere/ScratchEverywhere/pull/334 #334]! * PS4 Port! ** [https://github.com/PwLDev @PwLDev] has spent over 3 months porting SE! to the PS4! ** Now all 3.5 modded PS4 users can enjoy Scratch games on the big screen! ** '''KNOWN ISSUES''' *** Cloud variables is not currently supported ** Via pull request [https://github.com/ScratchEverywhere/ScratchEverywhere/pull/278 #278]! ** Warning: The PS4 package on this GitHub release is broken. Please download beta 27 from [https://pkg-zone.com/details/NTXS10053 pkg-zone] instead. * Runtime Changes ** Optimized Sprite rendering performance ** Fixed huge memory leak with <code>If else</code> block ** Fixed Main Menu and audio memory leaks ** <code>Switch costume to</code> blocks with a number as an input now chooses the correct costume ** Fixed positioning of Monitors (Visible Variables) ** Changed the look of Monitors look a bit more like Scratch ** Added support for more Monitor types ** Added <code>Scratch Everywhere! controller</code> custom block *** Returns the current controller being used ** [SDL2 Platforms] Fixed scaling of Pen stamped Sprites * 3DS Changes ** Fixed rendering with the <code>Pen</code> extension ** The <code>Pen</code> extension can now be used in dual screen mode ** The mouse can no longer go off screen ** Fixed compilation error when <code>ENABLE_AUDIO</code> is off * Wii Changes ** Fixed projects being at an unplayable Framerate * Wii U Changes ** The <code>Stop "All"</code> block now correctly takes you back to the Main Menu * Vita Changes ** Sounds from the stage now play as <code>Streamed</code> audio ** Warning: The Vita package on this GitHub release was accidentally compiled without audio support. Please download beta 27 from [https://files.catbox.moe/qdto2k.vpk here] instead. * Switch Changes ** Fixed keyboard menu not closing when closing the software keyboard '''Beta Build 26''' * 3DS Changes ** Migrated from SDL2 to SDL3 for audio *** Overall audio performance will be better with this change! *** Every sound is now a streamed sound, meaning you no longer have to put certain sounds in the stage! ** Refactored images to use 2x less RAM! ** Unused images will now stay in memory for longer before being freed *** Changed from 4 seconds to 21 seconds ** Audio now works when using <code>.cia</code> * GameCube Changes ** [https://github.com/Extrems @Extrems] has done a ton of work to the GameCube port recently! ** Migrated to libogc2 ** Fixed not being able to find projects in Main Menu *** This means the GameCube build can finally come back to releases! ** Fixed GameCube controller inputs getting stuck ** Fixed system time getting reset to January 1st, 2000 ** Fixed progressive scan mode being forcibly enabled when using component video ** General GameCube code cleanup * All via pull request [https://github.com/ScratchEverywhere/ScratchEverywhere/pull/411 #411]! * Switch Changes ** Fixed audio not working ** Fixed Dockerfile builds crashing *** This should also fix the crashing that was present in Beta 25. ** Fixed resolution not getting changed correctly ** Swapped ABXY buttons from Xbox layout to Nintendo layout ** Added correct error text for no projects in Main Menu ** Fixed icon not showing up * Runtime Changes ** Lists now have a maximum length of <code>200,000</code> items ** the <code>equals</code> block is now case-insensitive, matching Scratch behavior ** <code>Stop "other scripts in this sprite"</code> block now stops playing sounds in the sprite ** Sounds are now in memory longer before getting freed *** Changed from 8 seconds to 21 seconds ** Sound loading is no longer threaded *** This means that every time a new sound is loading, the game will freeze for a bit, until the sound is loaded. *** There are pros and cons to this, but ultimately this change makes audio more stable. ** [SDL2] Sounds in the stage can now be stopped by <code>Stop all sounds</code> block ** The <code>Stop all sounds</code> block now stops every playing sound, not just sounds in the sprite ** Fixed collision on off-center costumes ** Fixed sprites with off-center costumes being rendered in the wrong position ** Images now stay loaded in memory when stamping with Pen ** Custom controls will now only try to load with projects from the Main Menu ** Main Menu buttons can now be clicked with touchscreen devices ** Renamed <code>Running flag block</code> text in loading screen to <code>Finishing up!</code> '''Beta Build 25''' * New Features ** Pen Support! *** The heavily requested and long awaited Scratch extension is finally here! *** Pen is not currently supported on Switch or PS Vita. *** Pen will not work correctly on 3DS when using dual-screen mode. *** There may be more issues we haven't found, so please open up bug reports! ** Project splitting! *** Ever wanted to make a huge game but you're hitting memory limits? Now you can split your game into multiple Scratch projects to get around this! *** It uses custom blocks to open projects *** You can find more information with the [https://scratchbox.grady.link/project/twStEkSKjQaH example project]! ** Turbo Mode *** If Turbo mode is enabled in your Scratch project, Scratch Everywhere! will also enable it! * Parity Changes ** Time based blocks now uses the device's local time instead of a set time zone ** <code>Days since 2000</code> block now updates every millisecond instead of every second ** <code>Current "month"</code> block now returns the correct month ** Added support for more hidden Scratch blocks * Runtime Changes ** Big refactor to how numbers work under the hood *** Performance overall should be a bit better ** Fixed Sprite collision box being rotated the wrong way ** Added support for nine-slice rendering in the Main Menu * 3DS / Wii U Changes ** Cloud variables should now work correctly (this was my bad, I compiled it wrong last beta) '''Beta Build 24''' * New Features ** Add support for changing your username in the main menu settings *** If disabled, the <code>username</code> block will return your console's nickname *** If enabled, you can choose a custom username and the <code>username</code> block will return that instead * Runtime Changes ** The <code>touching</code> block now works correctly with vector images ** Fixed sound effects getting cut off if a new one gets played ** Sound effects now get unloaded from memory after a few seconds of it not playing ** Sound effects with low volume now play correctly ** Sound blocks now work correctly if the input is another block ** The main menu buttons has been replaced with new SVG versions ** The main menu GUI now scales depending on screen resolution ** Added project loading screen to SDL2 platforms ** Reverted <code>project.sb3</code> auto opening at startup * 3DS Changes ** Fixed a bug causing some vector images to appear bigger than it should * Wii Changes ** The <code>username</code> block now returns the Wii's nickname '''Beta Build 23''' * New Features ** Scratch Everywhere! Custom Blocks! *** This actually isn't a new feature, but we never talked about them at all so I'll talk about it here :) *** Similar to TurboWarp's <code>is compiled?</code> and <code>is TurboWarp?</code> blocks, We've made a few new blocks that Scratch Everywhere! can understand! *** You can still upload your projects to the Scratch website when using these new blocks! *** <code>is Scratch Everywhere!?</code> block returns <code>true</code> if your project is running on Scratch Everywhere, and returns <code>0</code> otherwise. *** <code>is New 3DS</code> block returns <code>true</code> if your project is being played on a New 3DS, returns <code>false</code> otherwise. *** <code>Scratch Everywhere! platform</code> returns the platform your game is being played on (<code>3DS</code>,<code>Wii</code>,etc). *** A project containing these blocks can be downloaded [https://scratchbox.grady.link/api/project/K26OtTN2WDJ9/download here]! ** Unpack project option in project settings! *** Instead of the normal way the runtime works by putting the entire scratch project in memory, unpacking a project eliminates this by only loading things when it needs to! *** Unpacked projects are great for large projects, and projects with a ton of images! *** Depending on the speed of your SD card, unpacked projects can run way faster than normal projects! *** Unpacked projects will have a lightning symbol next to it, and will appear towards the bottom of the project menu. ** Bottom Screen option in project settings! *** For 3DS, you can enable any project to be played on the bottom screen instead of the top screen! *** Great for projects where the touchscreen plays a key factor in gameplay! *** This also means Scratch Everywhere! can be used with a broken top screen! (I know at least 1 person will be happy about this) * Runtime Changes ** If you have a project in your Scratch Everywhere! folder named <code>project.sb3</code>, the project will now automatically run when opening the app. ** Changed D-Pad controls in Main Menu *** NOTE: If you're using a Wii Remote, this means you now have to use the remote sideways to navigate the Main Menu. ** Added more splash text to the Main Menu ** Fixed a ton of memory leaks under the hood * 3DS Changes ** Fixed buttons in the Main Menu sometimes not loading correctly * Switch Changes ** Changed resolution to the handheld's native 1280 x 720, instead of being a weird stretched resolution '''Beta Build 22''' *New Features **Brightness costume effect added! **Logs now get saved to a log file ***Log file is located in the same spot your scratch projects are placed ***[3DS] Logs are only saved when holding Select while launching the app *Runtime Fixes **Fixed When this sprite clicked being ran for every sprite instead of only the sprite that's clicked **Fixed When this sprite clicked being able to click multiple sprites in one click **Fixed a few crashes that could happen related to audio **Fixed backdrop rendering **Added some new Main Menu splash text **A bunch of code refactoring under the hood *3DS Changes **Fixed bottom screen not rendering correctly '''Beta Build 21''' *New Features **Main menu splash text! ***A random message will appear at the bottom of the logo! *Runtime Changes **Reverted vector image collision fix ***This caused many issues with image rendering, so vector image collision will be inaccurate until we find a better fix. **Fixed collision not working on clones **Broadcast and Broadcast and wait blocks should work more consistently **Fixed sprites sometimes rendering behind the backdrop **Added version number in main menu **Changed font in main menu **Fixed controls menu not saving or loading properly **Removed .sb3 extension in the project menu *3DS Changes **CIA release! ***Highly requested feature finally brought together! ***Via pull request [https://github.com/ScratchEverywhere/ScratchEverywhere/pull/317 #317]! **New RAM_AMOUNT compile variable ***Used for old 3DS to specify the maximum amount of RAM it can use ***More info in the README **Changed executable name from Scratch to scratch-3ds **Optimized text rendering *PS Vita Changes **Significantly improved performance! ***Via pull request [https://github.com/ScratchEverywhere/ScratchEverywhere/pull/321 #321]! *Known Issues **Backdrop images may not render correctly **[3DS] File size is much larger due to using new fonts '''Beta Build 20''' *New Features **PS Vita port! ***Via pull request ([https://github.com/ScratchEverywhere/ScratchEverywhere/pull/274 #274]) *Scratch Parity **Added When this sprite clicked block **Added When backdrop switched to block **Added Show list and Hide List blocks (Via [https://github.com/ScratchEverywhere/ScratchEverywhere/pull/295 #295]) **Added support for dragging sprites *Runtime Changes **Added support for more clones when Infinite Clones is enabled in TurboWarp or other Scratch Mods **Mouse position is now more consistent **Fixed collision on vector images being half the size it should be **Fixed Move __ steps block not fencing the sprite correctly *Wii Changes **Fixed projects not searching in the right location in the SD card *3DS Changes **Changed icon '''Beta Build 19''' *Scratch Parity **Added support for hidden While block **Support last, all, and random as list indexes **Support Infinity and -Infinity **The default distance in the distance to block is now 10000 **The mod block now works like Scratch does **Support scientific notation **Support octal, hex, and binary numbers **Support string comparisons **List block items no longer get separated by a space if all items are one character long *Runtime Changes **Fixed crash when custom block arguments are used outside of the custom block definition **Fixed layering working incorrectly *3DS Changes **Stereoscopic 3D support! ***Uses Scratch's layering system to determine 3D depth ***NOTE: using 3D may result in worse performance. I'm working to fix this. **Fixed unzipped projects crashing after some time *Wii U / Switch Changes **Added stick click support! ***Left stick click is c ***Right stick click is v *Wii Changes **[EDIT quick fix] fixed projects searching in SD card root instead of searching in apps/scratch-wii '''Beta Build 18''' *New Features **Scratch Everywhere! logo **Added support for more image types *3DS Changes **When compiling an unzipped project, all bitmap images get converted to .t3x format ***This means images will load way faster, and the problem with images not loading is gone! **Fixed audio cracking (again) ***Note: audio may still crack in certain scenarios. *Wii U Changes **Fixed icon and boot splash not showing up on the home screen *Wii Changes **Fixed audio not working **Fixed wrong date in meta.xml *Switch Changes **Fixed audio not working '''Beta Build 17''' **Scratch Everywhere! *The name has been changed to Scratch Everywhere! **That's Scratch Everywhere! with the exclamation point btw.. **It made 0 sense to keep the name Scratch 3DS as this is now on 5 different platforms... **speaking of which... *Switch Port! **For all 1.5 people who own a modded Switch, you can now enjoy Scratch games! **Via pull request ([https://github.com/ScratchEverywhere/ScratchEverywhere/pull/97 #97])! *All new main menu screen! **The Main Menu has gone through a huge refactor under the hood! **It should be a smoother and better experience overall! **It's still a work in progress, but now it should be a little easier to add stuff to it in the future! *Custom controls! **In the Project menu is a new option to remap the controls of any project! **Control mappings get loaded and saved to scratch-everywhere/'project_name'.json ***Wii U is sd:/wiiu/scratch-wiiu/'project_name.json' *Runtime changes **Sprite fencing has been implemented! ***Can be disabled with TurboWarp or other Scratch mods. **The Stop 'All' block now takes you back to the Main Menu instead of the homebrew menu! ***Note: The Wii U will still exit the app, as it would freeze when going back to the Main Menu for some reason. **Booleans (anything set to true or false) now doesn't get set to 1 or 0 by the runtime mistakenly **Fixed a couple of crashes that could happen while loading **Custom blocks with no definition now works as intended ***Logging blocks created by Scratch Addons Debugging Addon can now be used. **The runtime can now be compiled with ENABLE_AUDIO=0. ***For the 3DS, this means smaller file size, and you no longer need SDL2 to compile. *3DS Changes **Fixed crash when closing the app **Fixed audio cracking issue **Sprites are no longer rendered in fractional positions, fixing some image weirdness **Changed image filtering from nearest to linear ***This fixes the image fuzziness and weirdness issues, with a tradeoff to some images looking slightly blurry. I might add a filtering option to the Main Menu in the future. *Wii Changes **Fixed projects not showing up in Main Menu **Fixed images sometimes not being able to load **[Quick Edit 16 Aug 2025] Fixed meta.xml showing the wrong date *Wii U Changes **Fixed projects not showing up in Main Menu '''Beta Build 16''' *Wii and Gamecube port! **The runtime has been ported to 2 new consoles! **More information in the README! *[3DS and Wii U] Cloud Variable support! **Cloud Variables now sync over the network with anyone also playing the same game! **Syncs across both Wii U and 3DS **Note: does NOT sync with people playing on the Scratch website or Turbowarp. **Via pull request (#145) *Runtime Changes **Broadcast blocks now have more consistent behavior **Disabling Fencing in advanced settings now disables size limitations **Variables set to True or False no longer gets set to 1 or 0 **Images in any project now only load whenever it's needed, instead of loading every image in memory while loading the project **[Wii U] Main Menu with no projects should now work correctly **[Wii U] Unzipped projects now load images and sounds correctly **[3DS] when compiling, the final executable will now be in build/3ds/ instead of the root directory. '''Beta Build 15''' *New Features **Vector Image Support ***You no longer have to convert your vector images to bitmap! **[3DS] Mouse Mode ***Mouse mode has been removed and replaced with Trackpad-like behavior on the bottom screen! ***Glide your finger/stylus on the bottom screen to move the mouse, and quickly tap to click ***The old "holding L and using the D-pad" has been removed ***If your scratch project uses the bottom screen, trackpad mode is disabled and replaced with normal touchscreen behavior *Runtime Changes **Fixed "If" blocks continuing if it should've been stopped by a Stop 'this script' block **Fixed "List" blocks not working correctly if set to For this sprite only **[3DS] fix Main Menu error text being cut off **[Wii U] Mouse position is now calculated accurately *Known Issues **[3DS] Some vector images may appear bigger than they should **If a vector image contains text, the text will not render '''Beta Build 14''' *New Features **"Show variable" and "Hide variable" blocks added! **Variables can now show on screen! *Runtime Changes **Fix broadcast blocks not working correctly sometimes **Fix Stop "this script" and Stop "other scripts in this sprite" blocks not working correctly sometimes **Fix invalid sounds crashing the app **[Wii U] Unselected projects in Main Menu are now black instead of red **[3DS] if compiling an unzipped project, more images can now be loaded without failing **[3DS] You no longer crash/get kicked to the homebrew menu while loading images initially ***If your project has many images, some will not load and render as a black square. A fix for this is in the works. **[3DS] when compiling, you now have the option to disable the loading screen visuals. Run make ENABLE_BUBBLES=0 when compiling. '''Beta Build 13''' *New Features **[Wii U] Main Menu and file picker! ***You no longer have to name your project "project.sb3", and can have as many projects as you want! ***You still need to put all your projects in sdcard:/wiiu/scratch-wiiu/. *Runtime Changes **[3DS] Loading sounds now run in the background and no longer freezes the game! ***Known issue: loading a sound while other sounds are playing will mute all sounds until the sound is done loading. **[3DS] Fixed crash if an image failed to load **"Set Volume to", "Change Volume by", and "Volume" blocks added **Fixed Play Sound until done block not working correctly if played in the Stage '''Beta Build 12''' *New Features **[3DS] Audio Support! ***"Sound effect" (volume, pitch) blocks still not implemented yet ***See README for more limitations *Runtime Changes **Fixed repeat blocks behaving weirdly if run from a broadcast block **Fixed "If on edge, bounce" block not taking into account the scale of the sprite **Fix collision sometimes not working **[3DS] Fix project names sometimes not rendering in Main Menu **[3DS] Fix projects not being able to go above 30 FPS **[3DS] You now need 3DS versions of SDL2 and SDL2_mixer to compile **[Wii U] Sound loading now runs in the background and doesn't freeze the game **[Wii U] Images now work on unzipped projects **[Wii U] Fixed screen tearing '''Beta Build 11''' *New Features **[Wii U] Audio Support! ***Supports mp3, wav, and ogg currently ***"Start sound" "Play Sound Until Done" and "Stop all Sounds" implemented ***"Sound effects" (volume, pitch) not yet implemented ***3DS audio support was going to be this beta, but there's still a couple of things to fix there unfortunately. *Runtime Changes **[3DS] Fixed crashing when sometimes loading an image for the first time ***this fix could also fix the Main Menu crashing, but again I didn't have that issue in the first place and can't test if this is true. **[3DS] Doubled the amount of time an image can go unused before being freed **[3DS] Fixed rotation and scaling inconsistencies (via #137 ) **[Wii U] Added support for 'ghost' effect block '''Beta Build 10''' *Costumes now prioritize names over index *Fixed empty costume inputs causing the app to close *Fixed "Key Pressed" block with other blocks as input causing crashes *[Wii U] Fix freeze when going to home menu and back in game *Fix weird behavior when multiple custom blocks have the same argument variable names '''Beta Build 9''' * Fix "wait" block not working * Added black bars to the sides of the screen if the aspect ratio of the project and screen don't match '''Beta Build 8''' *Wii U Port! **@gradylink was epic enough to port the runtime to Wii U! **Features basically everything the 3DS port currently does! *Runtime Changes **[3DS] Fixed long names in the Main Menu being cut off **Fixed 'if' Blocks with time-based blocks inside not working properly **Fixed some blocks returning "0" when they should have returned nothing **Fixed some sprites not rendering in the correct position **Fixed "Pick Random" block not working as intended sometimes **Fixed certain costumes not being set correctly **Fixed sometimes not having any "advanced settings" get enabled **Fixed size not getting set if sprite has never been rendered yet **"Wait" block now waits for at least 1 frame, matching Scratch's behaviour == External links == * GitHub - https://github.com/NateXS/Scratch-Everywhere
Advertising: