https://github.com/jsfehler/entroponaut
GUI with improved NVL built on top of Ren'Py's default GUI system.
https://github.com/jsfehler/entroponaut
renpy
Last synced: 4 months ago
JSON representation
GUI with improved NVL built on top of Ren'Py's default GUI system.
- Host: GitHub
- URL: https://github.com/jsfehler/entroponaut
- Owner: jsfehler
- License: gpl-3.0
- Created: 2023-11-09T18:27:34.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-02-19T02:57:42.000Z (over 2 years ago)
- Last Synced: 2025-03-22T07:41:52.298Z (about 1 year ago)
- Topics: renpy
- Language: Ren'Py
- Homepage:
- Size: 41.7 MB
- Stars: 5
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.rst
- License: LICENSE
Awesome Lists containing this project
README
- E N T R O P O N A U T -
=========================
A replacement GUI for a Ren'Py project, designed for the NVL text display format.
Live Demo: https://jsfehler.itch.io/entroponaut
.. list-table:: Features
:widths: auto
:header-rows: 1
* -
-
* - .. image:: screenshots/nvl.png
:width: 240
:alt: NVL
- Scrolling text window: The NVL window is enhanced with text that scrolls into view from the bottom.
* - .. image:: screenshots/passive_statement.png
:width: 240
:alt: Passive Statement
- Passive statement: A new statement called 'passive' darkens text and automatically advances to the next line. Useful for showing menu choices after their selection.
* - .. image:: screenshots/options.png
:width: 240
:alt: Options
- New Options screen: Rebuilt to allow for the easy addition of custom options.
* - .. image:: screenshots/set_save_name.png
:width: 240
:alt: Set Save Name
- Played-Defined Save Slot Name: Players can set custom names for their save files.
* - .. image:: screenshots/save_load.png
:width: 240
:alt: Save/Load
- New load/save screen: Reimagined to better handle user-defined slot names and slot metadata.
Installation
------------
- Download the latest release from `github. `_
New Project
~~~~~~~~~~~
The Entroponaut project should be used as a template project.
1 - If open, close the Ren'Py Launcher.
2 - Unzip the release and move the `Entroponaut` folder into your Projects directory.
3 - Open the Ren'Py Launcher, create a new project and select Entroponaut as the template.
Existing Project
~~~~~~~~~~~~~~~~
Entroponaut assumes the following default files and folders are not in a project:
- ``game/gui.rpy``
- ``game/screens.rpy``
- ``game/gui/``
If they are present and unmodified, deleting them is necessary. If they have
been modified then they may require changes to work correctly with Entroponaut.
.. warning::
When used in an existing project, it's the responsibility of the developer to
ensure their existing assets and screens are not overwritten or made incompatible.
1 - Unzip the release and place the ``entroponaut_0.1.1/game/00_entroponaut/`` directory into your project's ``game/`` directory.
2 - The default `options.rpy` file also needs minor changes:
The following transitions should be disabled or changed, depending on your game.
.. code-block:: console
# define config.window_show_transition = Dissolve(.2)
# define config.window_hide_transition = Dissolve(.2)
The window icon must be changed, if you don't have your own:
.. code-block:: console
define config.window_icon = f"{entroponaut_gui.root_directory}/gui/window_icon.svg"
Usage
-----
To enable the `Exit Save `_, insert the following line at the top of the start label:
.. code-block:: console
$ _quit_slot = "quitsave"
Wherever possible, Entroponaut will use Ren'Py's existing GUI system and config.
New GUI properties are inside the `entroponaut_gui` namespace.
New config properties are inside the `entroponaut_config` namespace.
Known Incompatibilities
-----------------------
- ADV text display and screen variant formats are currently unsupported.
- The save/load screens remove the default pagination feature in Ren'Py.
Pagination is still available in the engine, the new UI simply removes the
buttons to toggle pages.
License
-------
The source code for this project is licensed under the GNU GPLv3, available to read here:
https://github.com/jsfehler/entroponaut/blob/master/LICENSE
The fonts used have their own, separate licenses. They're available inside the `fonts/` directory.
Development History
-------------------
Large portions of this code are originally from: https://jsfehler.itch.io/speed-metal-vimana
While working on another project I took some time to extract relevant pieces into a more reusable kit.
There are no immediate plans to add new features and requests for new features will be ignored.
Pull Requests for new features will be considered.
Contributing
------------
Pull Requests to fix known incompatibilities and/or bugs are welcome.
For filing bugs, please use the
`GitHub issue tracker `_
New Config Properties
---------------------
.. code-block:: console
# Transform used for each item in the navigation menu.
define entroponaut_config.navigation_item_transform = alpha_easein
# Load/Save slots
define entroponaut_config.audio.ui.loadsave_slot_hover = None
define entroponaut_config.audio.ui.loadsave_slot_action = None
define entroponaut_config.audio.ui.delete_file_button_action = None
# Buttons
define entroponaut_config.audio.ui.button_hover = None
define entroponaut_config.audio.ui.button_action = None
New GUI Properties
------------------
.. code-block:: console
# Default settings for buttons
define entroponaut_gui.button_borders = Borders(6, 6, 6, 6)
define entroponaut_gui.button_tile = False
define entroponaut_gui.button_font = f"{entroponaut_gui.root_directory}/fonts/oswald/static/Oswald-ExtraLight.ttf"
define entroponaut_gui.button_font_color = "#b9d8db"
define entroponaut_gui.prompt_font = f"{entroponaut_gui.root_directory}/fonts/oswald/static/Oswald-ExtraLight.ttf"
define entroponaut_gui.label_font = f"{entroponaut_gui.root_directory}/fonts/noto_sans/NotoSans-Bold.ttf"
# Quick menu
define entroponaut_gui.quick_button_font_idle_color = "#b9d8db"
define entroponaut_gui.quick_button_font_hover_color = "#000"
# Navigation buttons
define entroponaut_gui.nav_button_font = f"{entroponaut_gui.root_directory}/fonts/oswald/static/Oswald-Light.ttf"
define entroponaut_gui.nav_button_text_idle_color = "#b9d8db"
define entroponaut_gui.nav_button_text_hover_color = "#000"
# Checkboxes
define entroponaut_gui.checkbox_idle_color = "#b9d8db"
define entroponaut_gui.checkbox_hover_color = "#66a3e0"
define entroponaut_gui.checkbox_selected_idle_color = "#b9d8db"
define entroponaut_gui.checkbox_selected_hover_color = "#66a3e0"
# Radio buttons
define entroponaut_gui.radio_idle_color = "#b9d8db"
define entroponaut_gui.radio_hover_color = "#66a3e0"
define entroponaut_gui.radio_selected_idle_color = "#b9d8db"
define entroponaut_gui.radio_selected_hover_color = "#66a3e0"
# Sliders
define entroponaut_gui.slider_idle_color = "#b9d8db"
define entroponaut_gui.slider_hover_color = "#66a3e0"
define entroponaut_gui.slider_thumb_idle_color = "#b9d8db"
define entroponaut_gui.slider_thumb_hover_color = "#66a3e0"
# Save/Load
define entroponaut_gui.save_load_button_font = f"{entroponaut_gui.root_directory}/fonts/noto_sans/NotoSans-Light.ttf"
define entroponaut_gui.save_load_button_font_size = 19
# Save/Load carets
define entroponaut_gui.save_caret = "▼"
define entroponaut_gui.load_caret = "▲"
# Click to Continue caret.
define entroponaut_gui.continue_caret = "►"
# Used as a background for the input_confirm screen.
define entroponaut_gui.input_confirm_background = Solid('#000')
# The expected physical height of the font. Used for scrolling calculations.
define entroponaut_gui.menu_height_adjustment = 26
# The colour used for passive text
define entroponaut_gui.passive_text_colour = "#787878"
define entroponaut_gui.frame_alpha = 0.75
define entroponaut_gui.game_menu_frame_background = Transform(Solid('#000'), alpha=entroponaut_gui.frame_alpha)