Skip to content

pkhead/rained

Repository files navigation

Rained


Downloads | Manual

Another Rain World level editor. Read this document, which is bundled with every release package, for more information on how to use this software.

Please note that the "main" branch is ahead of the latest release, but is in sync with Nightly. If you want to access the repository at the time of a certain release, use the Git tags system.

Features

  • Ease of use
  • Undo/redo everything
  • Re-envisioned prop editor
  • Highly customizable UI
  • Asset graphics and palette previews
  • Drizzle level rendering with a preview
  • Exiting from the light editor does not mess up the screen
  • Pressing escape does not crash the program

Screenshots

Screenshot of Rained's tile editor. Screenshot of Rained's prop editor with tile graphics enabled and a palette applied.

Building

Tip

Additional documentation about the development setup is found here.

Prerequisities:

  • .NET Core toolchain
  • Python 3
  • (optional) OpenGL ES driver or ANGLE libraries in the DLL search path.
  • (optional) glslang CLI

Clone with Git:

git clone --recursive https://github.com/pkhead/rained
cd rained

Building Drizzle

These steps only need to be followed on the initial build or if you have updated Drizzle.

Compile Drizzle:

cd src/Drizzle
dotnet run --project Drizzle.Transpiler

Back to root directory, export some Drizzle data for Rained to build with:

dotnet run --project src/DrizzleExport.Console effects src/Rained/Assets/effects.json

Generating Lua API

This step only needs to be run once, or whenever you update ImGui.NET.

In the root directory, run:

python3 lua-imgui-gen.py

This will generate the Lua API for the imgui module.

Building Rained

.NET CLI and Cake

From the root directory, build and run Rained

# only needs to be run once
dotnet tool restore

# usage of desktop GL or GLES/ANGLE is determined by OS.
dotnet cake

# alternative build command with desktop GL forced on.
dotnet cake --gles=false

# run the project!
dotnet run --no-build --project src/Rained/Rained.csproj

.NET CLI alone

This is a translation of the Cake build script:

# validate/compile updated shader source files
# if you don't have glslangValidator, just skip these steps.
python3 shader-preprocessor.py gl330
python3 shader-preprocessor.py gles300

# you have three options here:
dotnet build src/Rained/Rained.csproj /p:GL=ES      # you can build with ES/ANGLE
dotnet build src/Rained/Rained.csproj /p:GL=Desktop # or you can build with normal OpenGL
dotnet build src/Rained/Rained.csproj               # this will auto-select based on OS. windows = GLES/ANGLE, linux = OpenGL

Upon first startup, you can configure where your Data folder is located. If you chose to download and install it, Rained will download and extract this repository.

Contributing

Report bugs and other complaints by creating an issue or pinging @chromosoze on a Rain World modding Discord server. DM requests also work, but it's likely that it'll take me a while to notice them as I don't pinged for it.

Pull requests are welcome.

Documentation about the development setup is found here.