Git Product home page Git Product logo

renpy-script-builder's People

Contributors

hasnogame avatar torrentails avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar

renpy-script-builder's Issues

Labels with no content are still called in the control file

Right now when a label is detected with create_flow_control_file enabled then a call to the label is immediately inserted into the control file. This should not be the case if a label has no content and only exists to serve as a parent label.

Error when logger tries to write a unicode character

Whenever the logger is called to write unicode character(s) to the log file, a UnicodeEncodeError error is thrown. I suspect this is an easy fix somewhere, but this'll likely only be an issue when the --verbose option is set.

Add commands for controlling music and sound

Seems this was an oversight on my part in the original design, probably because the project I was working on didn't have any sounds yet so I forgot about them.

Seems like it'd be a pretty important thing to include.

Fix up label code

The label code is... a mess, but at least it works.

I'd like to move the code into another function and clean it up, fixing at least issue #3 at the same time.

Allow multiple dot notation on child labels

Currently, if you want a child of a child, you either have to use full indentation of write something along the lines of ::.child1.child2

Using a multi dot notation at the beginning of labels would simplify this process evan more and that's kind of the point of the script builder. Might be worth finishing up issue #4 first

Example with multi dot notation:

::parent1
::.child1
::..child2
label parent1:
label parent1.child1:
label parent1.child1.child2:

Write full label chain

It would be better to write full label chains in the output file such that

::parent1
::.child1:
    ::.child2

is written out as

label parent1:
label parent1.child1:
    label parent1.child1.child2:

Definitely a good idea to do this for call and jump commands too.

Implement unknown code block parsing

Currently unknown commands are simply ignored with a warning and if they open any blocks they open are parsed normally (likely generating an error).

This can likely be done in a similar way to how NVL blocks are done.

Write a complete test script

Currently we've pretty much been coasting on a little bit of testing from running the sample file and a script I'm working on for an upcoming VN, neither of which implement every feature, config, option or other available from the script builder.

We need a script file specifically written to put the builder through it's paces, testing everything that we need to get working for v1.0. Probably even be worth creating a unit test file.

Eliminate the need for the return command

Currently :r is recommended at the end of each label block, especially if create_flow_control_file config option is set.

However I know we can possibly do something similar to how NLV blocks work and/or label detection to make this work. Might mean having to delay writing blank lines though.

We won't get rid of the return command altogether though, because it'll still have use for some users other than at the end of a label block, we just need to remove the need to place it label block.

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.