Scratch Everywhere Vita: Difference between revisions
More actions
0.31 |
No edit summary |
||
| Line 4: | Line 4: | ||
|description=Custom Scratch Runtime made in C++. | |description=Custom Scratch Runtime made in C++. | ||
|author=NateXS, Dogo6647 | |author=NateXS, Dogo6647 | ||
|lastupdated= | |lastupdated=2026/01/05 | ||
|type=Other Apps | |type=Other Apps | ||
|version=0. | |version=0.32 | ||
|license=LGPL-3.0 | |license=LGPL-3.0 | ||
|download=https://dlhb.gamebrew.org/vitahomebrews/ScratchEverywhereVita.7z | |download=https://dlhb.gamebrew.org/vitahomebrews/ScratchEverywhereVita.7z | ||
| Line 63: | Line 63: | ||
==Changelog== | ==Changelog== | ||
'''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''' | '''Beta Build 31''' | ||
* Runtime Changes | * Runtime Changes | ||
Revision as of 09:32, 9 January 2026
| Scratch Everywhere | |
|---|---|
| General | |
| Author | NateXS, Dogo6647 |
| Type | Other Apps |
| Version | 0.32 |
| License | LGPL-3.0 |
| Last Updated | 2026/01/05 |
| Links | |
| Download | |
| Website | |
| Source | |
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.
- Special custom blocks exclusive to Scratch Everywhere!
- Use font touchscreen for mouse input.
- Supports MP3, Ogg Vorbis, and WAV audio files.
- Modifiable framerate when using TurboWarp.
Installation
Download the scratch-vita.vpk file from releases or nightly build.
Transfer the .vpk file over to the Vita's storage, and install it using VitaShell on your Vita.
Put your .sb3 Scratch Projects in ux0:data/scratch-vita/ (you will need to create the folder yourself).
Launch "ScratchEverywhere" from the LiveArea.
See readme for controls.
Screenshots
Media
Porting Scratch to the 3DS (NateXS)
Limitations
General:
- Text and embedded bitmap images will not show up on vector images containing it.
- Most Extensions (e.g. music extension) are not yet supported.
- Only the
Pen, andMakey Makeyextensions are currently supported.
- Only the
- 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 (~30+) clones (memory management issue).
Vita:
- Cloud Variables aren't currently supported, but likely will be in the future.
- Back touch will not be supported.
Changelog
Beta Build 32
- Menu Changes
- Added a Project pause menu
- Accessed by holding
Startfor 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
- Accessed by holding
- Updated logo (Via #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
- Added a Project pause menu
- 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 #512)
- The
Open Projectcustom block can now open projects inside of the RomFS (Via #508) - The
Text To Speechblock 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
- We did a whooole lot of code refactoring under the hood
- Parity Changes
- Fixed the order in which
When I start as cloneblocks run - Fixed
Next Backdropblock not working - You can no longer click on a Sprite that has a
ghosteffect of 100 - The
For Eachblock now has better parity - The
When Key Pressedblock is no longer tied to the FPS - Turbo Mode now works like Scratch
- The
Broadcast and Waitblock 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
doubletostringconversion (Via (#520) - Variables can no longer be an
int - Fixed some custom blocks not working
- Fixed the order in which
- 3DS Changes
- Collision in Dual-Screen mode is now correct
- Mouse position in Dual-Screen mode is now correct
- PC Changes
- The
usernameblock can now get your PC's username - Settings are now stored in your OS's respective configuration folder.
- The
- NDS Changes
- Added new menu music
- This beta was brought to you by: @Dogo6647, @poipole807, @Br0tcraft, @leap0x7b, @gradylink, @roccopm, @DevelopCMD, @Starlii10, aaaaand @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 #489 and #499, thanks @leap0x7b !)
Touchingblocks now have more consistent collision (still box collision, just more accurate)- Fixed
Stop "This Script"block sometimes not working - Fixed offset when dragging Sprites
- Fixed some
Soundblock issues - Fixed Sprites sometimes being in the wrong position for one frame
- Parity Changes
- @Geotale dropped a huge lootbox showing a bunch of parity issues with SE! (#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
Touchingblock - The
StageSprite can no longer be cloned - Scratch 2.0
Penblocks have been implemented - Fixed
BroadcastandEffectblocks not working in Scratch 2 projects migrated to Scratch 3 (Via #494 and #496, thanks @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!
- [Wii U, 3DS]
Text to Speechextension support!- Works by using Scratch's Text-To-Speech API to send speech data to the device
- From @Br0tcraft (PR #480)
Makey Makeyextension support!- From @poipole807 (PR #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 @gradylink (PR #439)
- SDL1 support!
- Runtime Changes
- Added festive music to the Main Menu! (Tunes as always from @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
Change Costumeblocks with numbers as input now prioritize the costume name over the costume number- Fixed
When this backdrop switches toblock 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
+Infinitynot working correctly - Allow for hacked dropdown inputs
- Added
Core ExampleExtension - Implement Scratch's weird spacing rules with
Listreporter blocks (PR #467) - Fixed whitespace comparison (PR #464)
- Fixed the order in which blocks run
- Added festive music to the Main Menu! (Tunes as always from @Dogo6647)
- 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
- Increased command buffer size
- Wii / GameCube Changes
- Added
StreamedSound Support!
- Added
- PSP Changes
- Fixed
RomFSprojects not working
- Fixed
Beta Build 29
- New Features
- PSP Port!
- Switch Changes
- Upgraded to the latest
libnxversion, meaning SE! is now supported on Firmware21.0.0.
- Upgraded to the latest
- 3DS Changes
- Fixed app not closing when closed from the Main Menu
- Runtime Changes
- The Main Menu is feeling a bit jolly...
- Changed
Arialnfont toLiberation Sans Narrowfont
- Parity Changes
- Added instant block execution
- In Scratch, if nothing on screen happens, all blocks run as if
Run Without Screen Refreshwas on. SE! now handles this behavior.
- In Scratch, if nothing on screen happens, all blocks run as if
- Sprites now correctly run their blocks in layer order
- The
directionblocks are now correctly clamped and rounded - The
Change Variable by xblock now works correctly when putting in letters as input - Fixed some blocks not running without screen refresh when they should
- The
Pick randomblock now correctly works with non-decimal numbers NaNis 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
nullinput bug correctly - Fixed
Broadcast and waitblock's weird behavior from a clone who's ready to be deleted
- Added instant block execution
Beta Build 28
- Runtime Changes
- Added Music to the Main Menu (tunes by @Dogo6647 !)
- [Non-3DS Platforms] Added support for TurboWarp's
High Quality Penoption - 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
Infinityandnannumbers - Fixed crashes related to
listblocks - Projects that contain Lists with many items now load faster
- The
Open projectblock can now choose projects from the SD card (Via pull request #425)
- PC Changes
- Builds for Windows, MacOS, and Linux will now be put in releases!
- Migrated to
CMakefor 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 #362!
- Web Port!
- @gradylink has ported the Runtime to WebAssembly!
- With this, ScratchBox is also updated to use SE!
- Via pull request #334!
- PS4 Port!
- @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 #278!
- Warning: The PS4 package on this GitHub release is broken. Please download beta 27 from pkg-zone instead.
- Runtime Changes
- Optimized Sprite rendering performance
- Fixed huge memory leak with
If elseblock - Fixed Main Menu and audio memory leaks
Switch costume toblocks 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
Scratch Everywhere! controllercustom block- Returns the current controller being used
- [SDL2 Platforms] Fixed scaling of Pen stamped Sprites
- 3DS Changes
- Fixed rendering with the
Penextension - The
Penextension can now be used in dual screen mode - The mouse can no longer go off screen
- Fixed compilation error when
ENABLE_AUDIOis off
- Fixed rendering with the
- Wii Changes
- Fixed projects being at an unplayable Framerate
- Wii U Changes
- The
Stop "All"block now correctly takes you back to the Main Menu
- The
- Vita Changes
- Sounds from the stage now play as
Streamedaudio - Warning: The Vita package on this GitHub release was accidentally compiled without audio support. Please download beta 27 from here instead.
- Sounds from the stage now play as
- 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
.cia
- Migrated from SDL2 to SDL3 for audio
- GameCube Changes
- @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 #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
200,000items - the
equalsblock is now case-insensitive, matching Scratch behavior Stop "other scripts in this sprite"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
Stop all soundsblock - The
Stop all soundsblock 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
Running flag blocktext in loading screen toFinishing up!
- Lists now have a maximum length of
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 example project!
- Turbo Mode
- If Turbo mode is enabled in your Scratch project, Scratch Everywhere! will also enable it!
- Pen Support!
- Parity Changes
- Time based blocks now uses the device's local time instead of a set time zone
Days since 2000block now updates every millisecond instead of every secondCurrent "month"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
- Big refactor to how numbers work under the hood
- 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
usernameblock will return your console's nickname - If enabled, you can choose a custom username and the
usernameblock will return that instead
- If disabled, the
- Add support for changing your username in the main menu settings
- Runtime Changes
- The
touchingblock 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
project.sb3auto opening at startup
- The
- 3DS Changes
- Fixed a bug causing some vector images to appear bigger than it should
- Wii Changes
- The
usernameblock now returns the Wii's nickname
- The
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
is compiled?andis TurboWarp?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!
is Scratch Everywhere!?block returnstrueif your project is running on Scratch Everywhere, and returns0otherwise.is New 3DSblock returnstrueif your project is being played on a New 3DS, returnsfalseotherwise.Scratch Everywhere! platformreturns the platform your game is being played on (3DS,Wii,etc).- A project containing these blocks can be downloaded 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)
- Scratch Everywhere! Custom Blocks!
- Runtime Changes
- If you have a project in your Scratch Everywhere! folder named
project.sb3, 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
- If you have a project in your Scratch Everywhere! folder named
- 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
- 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
Beta Build 21
- Significantly improved performance!
Beta Build 20
- First Release.