Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 36 additions & 22 deletions build.md
Original file line number Diff line number Diff line change
Expand Up @@ -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).
Expand Down Expand Up @@ -173,33 +174,33 @@ 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):

- `sdl1`: `sdl1`
- `sdl2`: `sdl2`
- `sdl3`: `sdl3`
- `opengl`: `sdl2`
- `citro2d`: `sdl3`
- `citro2d`: `3ds`
- `gl2d`: `nds`
- `libretro`: `libretro`
- `headless`: `headless`
Expand Down Expand Up @@ -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`,
Expand Down Expand Up @@ -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.**
Expand Down
14 changes: 14 additions & 0 deletions features.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
21 changes: 10 additions & 11 deletions settings.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down