From c76c48081545ddbedc0d65eef6eecfe64ef0d8d3 Mon Sep 17 00:00:00 2001 From: lachrymaLF Date: Thu, 23 Jan 2025 22:20:10 -0500 Subject: [PATCH] readme --- .gitignore | 1 + README.md | 47 ++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 47 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index d3eacb0..b929dd3 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ NVL/out .cache vs **/.DS_STORE +.gitconfig diff --git a/README.md b/README.md index 6e9b2d7..9241a7d 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,50 @@ # NouVeL -NVL Script Engine +NVL scripting engine is a visual novel engine comprising an interpreter for the DSL and a cross-platform display frontend supporting Unicode and different renderers (DirectX11/12, OpenGL, Metal, Vulkan). Here is an example of a script file (more can be found in `ADVect/runtime`): +``` +BEGIN Scene1 + +// Set a variable +Set var 2 + +// Enter and exit dialogue mode with <<- and ->> +<<- +[Alex] +Hello. Welcome to dialogue mode. "Click" to proceed to the next line. +Bailey will speak in French next. + +[Bailey] +Je ne suis plus Alex. +Actuellement Catherine apprend le japonais. + +[Catherine] +どうも!CJKテスト! + +[David] +I will talk about markup syntax. +Bold and italics look like [b]{this} and [i]{this}, and you can [b,i]{combine both}. +Parametrized can be used like [wiggle_y(5)]{this}. +Furigana-style ruby text can be done like [rb("that")]{this}. + +[Elliot] +To grab a value from the environment, do it like this: ${var}. + +[NARRATOR] +Thanks! +->> + +// This will jump to another script defining "Scene2". +// JUMP Scene2 + +// Instead we will terminate the script here +END +``` + +## Libraries +- SDL2 +- bgfx +- freetype +- stb_image +They are included in the repository as git submodules. Please clone git submodules (recursively). ## Building Use `CMakeLists.txt` in the root directory. The default build target is `Game`.