diff --git a/build.md b/build.md index c04ae77..8d33cf7 100644 --- a/build.md +++ b/build.md @@ -40,13 +40,14 @@ If you are compiling with cloud variables, you will need to have DevkitPro's SDKs and [Mist++](https://github.grady.link/mistpp) installed. - **For PC**, the only thing you need is `cmake`, as all other dependencies will - be automatically downloaded. However, if you'd like to manually install them, - you'll need `SDL2`, `SDL2_ttf`, `SDL2_gfx`, `lunasvg`, `stb_image` (`stb`), - and `libcurl` (`curl`) from your package manager. + be automatically downloaded and/or compiled. However, if you'd like to + manually install them, you'll need `SDL2`, `SDL2_ttf`, `lunasvg`, `stb_image` + (`stb`), and `libcurl` (`curl`) from your package manager. > [!NOTE] - > On Arch Linux, `lunasvg` is not in the official package repos. You will need - > to use the AUR or let SE! automatically download and build it from source. + > On Arch Linux, the version of `lunasvg` packaged in the AUR currently does + > not work with Scratch Everywhere!. You'll need to either let Scratch + > Everywhere! build it from source or build the latest Git source manually. - **For the 3DS**, you will need the DevkitARM toolchain, libctru, [bannertool](https://github.com/carstene1ns/3ds-bannertool), and [makerom](https://github.com/3DSGuy/Project_CTR). @@ -173,25 +174,25 @@ Whether or not audio is enabled. Defaults to `ON`. ### `SE_AUDIO_ENGINE` -The audio backend to be used. Can be one of `sdl2`, `sdl1`, `sdl3`, `nds`, or -`headless`. +The audio backend to be used. Can be one of `sdl2`, `sdl1`, `sdl3`, `nds`, +`3ds`, `libretro`, or `headless`. #### Supported Audio Engines -| Platform | `sdl1` | `sdl2` | `sdl3` | `nds` | `libretro` | `headless` | -| -------- | ------ | ------ | ------ | ----- | ---------- | ---------- | -| PC | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | -| 3DS | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | -| DS | ❌ | ❌ | ❌ | ✅ | ❌ | ✅ | -| Wii U | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | -| Wii | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | -| GameCube | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | -| Switch | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | -| Vita | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | -| PSP | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | -| PS4 | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | -| webOS | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | -| Libretro | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | +| Platform | `sdl1` | `sdl2` | `sdl3` | `nds` | `3ds` | `libretro` | `headless` | +| -------- | ------ | ------ | ------ | ----- | ----- | ---------- | ---------- | +| PC | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | +| 3DS | ❌ | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ | +| DS | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ | +| Wii U | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | +| Wii | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | +| GameCube | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | +| Switch | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | +| Vita | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | +| PSP | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | +| PS4 | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | +| webOS | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | +| Libretro | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | The default value depends on the renderer being used (see below): @@ -199,7 +200,7 @@ The default value depends on the renderer being used (see below): - `sdl2`: `sdl2` - `sdl3`: `sdl3` - `opengl`: `sdl2` -- `citro2d`: `sdl3` +- `citro2d`: `3ds` - `gl2d`: `nds` - `libretro`: `libretro` - `headless`: `headless` @@ -229,6 +230,11 @@ if it fixes the errors. Defaults to `ON` on all supported platforms. +### `SE_CUSTOM_EXTENSIONS` + +Whether or not to allow Lua extensions. Defaults to `ON` on all platforms that +support it. + ### `SE_DECTALK` Whether or not to allow using DECtalk for text-to-speech. If set to `OFF`, @@ -288,6 +294,14 @@ This option crashes on Wii and GameCube when trying to load large projects. Defaults to `ON` on every platform except Libretro. +### `SE_LUA_BACKEND` + +The Lua backend to be used for Lua extensions. Has no effect if +`SE_CUSTOM_EXTENSIONS` is disabled. Can be one of `lua51`, `luajit`, or +`fallback`. + +`fallback` uses `luajit` if available, and `lua51` otherwise. + ### `SE_MAKEROM` The path to the `makerom` executable. **Only relevant on 3DS.** diff --git a/features.md b/features.md index babc98a..e3cc287 100644 --- a/features.md +++ b/features.md @@ -32,6 +32,20 @@ Like TurboWarp, we have special custom blocks that only work on SE! You can find a project containing and explaining them here: https://scratchbox.dev/project/K26OtTN2WDJ9 +## Custom Icons + +Scratch Everywhere! supports adding custom icons to your projects that will +appear in the menu! + +There are two ways of adding an icon: + +- Add an image file with the same name as your project in the + `scratch-everywhere` folder. + +- Add a backdrop named `__icon__` to your project. + +Icons must be perfectly square or Scratch Everywhere! will not display it. + ## Project Settings Some settings related to the runtime can be changed. See the diff --git a/settings.md b/settings.md index 4bf5fb7..7fe2f74 100644 --- a/settings.md +++ b/settings.md @@ -70,29 +70,28 @@ performance impact. It is enabled by default. These settings can be found on the main menu. They apply to all projects. -### Username +### Music Volume -Whether or not to replace the default username (your user/device name) with a -custom one when using the ::sb username:: block. +The volume of the background music in the menu. -#### Name +### Enable Custom Username -The custom username to be displayed. +Whether or not to replace the default username (your user/device name) with a +custom one when using the ::sb username:: block. -### Custom Path +### Enable Custom Project Path Allows changing the path where Scratch Everywhere! looks for project files and stores settings. This is usually a path relative to the root of the default storage device (such as the console's SD card). -#### Change Path +### Clear Cache -Change the path that Scratch Everywhere! uses. +Clears the data stored in the cache, such as text-to-speech files. -### Menu Music +### Language -Whether or not to play music while in the main menu. Requires a restart to take -effect. Enabled by default. +Set the language used for the menu. ### Use DECtalk