Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions renpy/audio/audio.py
Original file line number Diff line number Diff line change
Expand Up @@ -590,7 +590,7 @@ def periodic(self):
tight=topq.tight,
start=start,
end=end,
relative_volume=topq.relative_volume * filename_volume,
relative_volume=topq.relative_volume * filename_volume * renpy.config.adjust_audio_amplitude,
audio_filter=topq.audio_filter,
) # type:ignore
else:
Expand All @@ -603,7 +603,7 @@ def periodic(self):
tight=topq.tight,
start=start,
end=end,
relative_volume=topq.relative_volume * filename_volume,
relative_volume=topq.relative_volume * filename_volume * renpy.config.adjust_audio_amplitude,
audio_filter=topq.audio_filter,
) # type:ignore

Expand Down
5 changes: 5 additions & 0 deletions renpy/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -1582,6 +1582,11 @@ def say_attribute_transition_callback(*args):
so might cause a framerate stutter.
"""

adjust_audio_amplitude: float = 1.0
"""
Adjusts the amplitude of all audio played back by multiplying it by this value.
"""


del os
del collections
Expand Down
30 changes: 16 additions & 14 deletions renpy/exports/displayexports.py
Original file line number Diff line number Diff line change
Expand Up @@ -1040,27 +1040,29 @@ def get_renderer_info() -> renpy.display.core.RendererInfo:

Returns a dictionary, giving information about the renderer Ren'Py is
currently using. Defined keys are:
``"renderer"``
A string giving the name of the renderer that is in use.

``"resizable"``
True if and only if the window is resizable.
``"renderer"``
A string giving the name of the renderer that is in use.

``"additive"``
True if and only if the renderer supports additive blending.
``"resizable"``
True if and only if the window is resizable.

``"model"``
Present and true if model-based rendering is supported.
``"additive"``
True if and only if the renderer supports additive blending.

``"model"``
Present and true if model-based rendering is supported.

When using the GL2 renderer, the following keys are also defined:
``"gpu_vendor"``
A string giving the GPU vendor.

``"gpu_name"``
A string giving the GPU name.
``"gpu_vendor"``
A string giving the GPU vendor.

``"gpu_name"``
A string giving the GPU name.

``"gpu_driver_version"``
A string giving the driver version.
``"gpu_driver_version"``
A string giving the driver version.

Other, renderer-specific, keys may also exist.

Expand Down
3 changes: 2 additions & 1 deletion renpy/gl2/gl2draw.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -532,7 +532,8 @@ cdef class GL2Draw:
self.shader_cache.clear()

if full_reset:
pygame.display.get_window().recreate_gl_context(always=renpy.emscripten)
if pygame.display.get_window().recreate_gl_context(always=renpy.emscripten):
renpy.display.interface.kill_textures()

# Are we in fullscreen mode?
if renpy.emscripten:
Expand Down
47 changes: 47 additions & 0 deletions sphinx/source/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,53 @@ Changelog (Ren'Py 7.x-)

*There is also a list of* :doc:`incompatible changes <incompatible>`

.. _renpy-8.4.1:

8.4.1
=====

Fixes
-----

On the web platform, textures are reloaded when the browser window is resized, preventing the textures from appearing
transparent or black.

Playing a movie on the web platform no longer causes Ren'Py to produce a stream of warnings.

The :func:`gui.SetPreference` action once again rebuilds the styles after the preference is set.

The config.dissolve_shrinks option, which provides backwards compatibility for :class:`AlphaDissolve` transitions and
:func:`AlphaBlend` displayables with mismatched child sizes, now works as intended.

Copying translations between games now works correctly. This is especially important for transferring translations from
the launcher to newly-created games, ensuring new non-English games are set up properly.

Diagnostic print statements that could appear when playing movies on the web platform have been eliminated.

The pixellate transition now functions as expected.


Features
--------

Ren'Py now scans for templates in subdirectories of the projects directory.

Ren'Py now supports Python's `importlib.resources <https://docs.python.org/3.12/library/importlib.resources.html>`_
module. This provides a way to load the resources in a Python package, even if that Python package is stored in an RPA
archive or an Android APK or asset pack.

Other Changes
-------------

When loading a Python module or package from disk, Ren'Py will now set the ``__file__`` attribute to the absolute
path of the module or package. This reverts a change made in Ren'Py 8.4.0, which set the ``__file__`` attribute
to the path relative to the game directory. When loading a module from an RPA archive or Android APK, this changes
to a relative path starting with ``$game``. This change is meant to help more pure Python packages work with Ren'Py,
but we recommend that you do not rely on the ``__file__`` attribute in your code, and use importlib.resources instead.

It's now possible to :ref:`revert the audio volume drop <incompatible-8.4.1>` caused by the constant power
panning change in Ren'Py 8.1. (This can also be worked around by adjusting mixer volumes.)


.. _renpy-8.4.0:

Expand Down
2 changes: 2 additions & 0 deletions sphinx/source/credits.rst
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ the omission in future versions.
* Dm1sh
* Do10HM
* Dogtopus
* Doohyeon Won
* Doomfest
* Donghyeok Tak
* DragoonHP
Expand Down Expand Up @@ -241,6 +242,7 @@ the omission in future versions.
* Pratomo Asta Nugraha
* Project Gardares
* Psunbury
* Puxap-3opre
* Quetz
* Raj Singh Chauhan
* Raspberry-soft
Expand Down
12 changes: 12 additions & 0 deletions sphinx/source/incompatible.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,18 @@ Incompatible changes to the GUI are documented at :ref:`gui-changes`, as
such changes only take effect when the GUI is regenerated.


.. _incompatible-8.4.1:

8.4.1
-----

**Constant-power Audio Panning** It's now possible to revert the change to
constant-power audio panning that was introduced in 8.1.0. To do this, add to
your game::

define config.adjust_audio_amplitude = 1.0 / 0.7071067811865476


.. _incompatible-8.4.0:

8.4.0
Expand Down
Loading