Git Product home page Git Product logo

drizzle's Introduction

Drizzle, a Rain World level editor

Drizzle is a port and gradual rewrite of the official Rain World level editor (RWLE). Primary goals are to make renders faster and to have a better interface.

Compiling and running

To run drizzle, you currently need to:

  1. git submodule update --init to initialize the Data/ submodule.
  2. run Drizzle.Transpiler to transpile the Lingo code to C#.
  3. run Drizzle.Editor or Drizzle.ConsoleApp, off you go!

Project structure

The project is organized as such:

  • Drizzle.Lingo.Runtime: Includes core logic necessary to run Lingo code required by RWLE.
  • Drizzle.Transpiler: Transpiles Lingo into extremely messy, dynamic heavy C#. Requires Drizzle.Lingo.Runtime to parse Lingo.
  • Drizzle.Ported: Contains transpiled C# code output by Drizzle.Transpiler.
  • Drizzle.Logic: Contains C# logic shared between console app and GUI renderer, interfacing with the transpiled code.
  • Drizzle.ConsoleApp: Console application for headless renders.
  • Drizzle.Editor: GUI editor using Avalonia.

drizzle's People

Contributors

fyrebyrns avatar inevitabilis avatar m4rblel1ne avatar mszegedy avatar pjb3005 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

drizzle's Issues

Application fails to render anything

whenever I attempt to render a level, It spits out this error immediately:

[23:16:25 ERR] Exception while rendering!
Drizzle.Logic.Rendering.RenderCameraException: Exception on camera 1
---> System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')
at CallSite.Target(Closure, CallSite, Object, Object)
at Drizzle.Ported.MovieScript.setuplayer(Object layer) in /home/runner/work/Drizzle/Drizzle/Drizzle.Ported/Translated/Movie.levelRendering.cs:line 348
at Drizzle.Logic.Rendering.LevelRenderer.RenderLayers() in /home/runner/work/Drizzle/Drizzle/Drizzle.Logic/Rendering/LevelRenderer.RenderCore.cs:line 160
at Drizzle.Logic.Rendering.LevelRenderer.DoRender() in /home/runner/work/Drizzle/Drizzle/Drizzle.Logic/Rendering/LevelRenderer.RenderCore.cs:line 50
--- End of inner exception stack trace ---
at Drizzle.Logic.Rendering.LevelRenderer.DoRender() in /home/runner/work/Drizzle/Drizzle/Drizzle.Logic/Rendering/LevelRenderer.RenderCore.cs:line 85
at Drizzle.Editor.ViewModels.Render.RenderViewModel.RenderThread() in /home/runner/work/Drizzle/Drizzle/Drizzle.Editor/ViewModels/Render/RenderViewModel.cs:line 241

Application fails to load levels

I don't know what I'm doing wrong, but Drizzle refuses to load anything.
I've tried every conceivable type of .txt in the rainworld world/*_levels directory, the RWLE sampler levels, and the arena settings. The app crashes every time.

I assumed that this just meant it used it's own format and just... didn't label it as such, but the application has no "New file" option nor a new file keybind (I assume; ctrl+N does nothing) so that's not possible to test.

Because it's a total crash I can't get the console output very easily as it just closes immediately after, but I eventually got this:
image

I'm on a underpowered Windows 11 laptop, and here's the contents of Drizzle's "about":
image
I would chalk this up to windows 10/11 incompatibility but I've never had a problem with that before, and I can run applications that are older than me on here just fine.

I already tried to follow the "run" instructions but since Drizzle.Tanspiler doesn't exist I had to assume that's not applicable to Git Releases.

Investigate perspective projection differences

Perspective projections appear to be somewhat different between Drizzle and Director. This isn't randomness I think, so we should investigate whether it's related to quad drawing or something else.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.