Keep music in PortMaster builds

This commit is contained in:
Alexander Sellite 2026-08-18 10:22:27 -04:00
parent 021de5aca4
commit 52dc2810ba
5 changed files with 15 additions and 18 deletions

View file

@ -219,8 +219,7 @@ profile also:
- keeps the title water and full-window menu patterns static; - keeps the title water and full-window menu patterns static;
- replaces the animated cooler water and decorative bubbles with flat water; - replaces the animated cooler water and decorative bubbles with flat water;
- disables decorative title-screen fish and bubbles; - disables decorative title-screen fish and bubbles;
- omits title music, dusk music, rain ambience, and shoreline ambience from the - retains title and dusk music while omitting rain and shoreline ambience;
package while retaining gameplay sound effects, speech, and character calls;
- reduces rain to 48 particles simulated at 8 FPS; and - reduces rain to 48 particles simulated at 8 FPS; and
- replaces procedural sky clouds and 81 moving local cloud patches with one - replaces procedural sky clouds and 81 moving local cloud patches with one
flat cloud ceiling. flat cloud ceiling.
@ -233,10 +232,11 @@ pixels. All remaining raster textures use ETC2 VRAM compression. Short sound
effects, speech, and calls are imported as 22.05 kHz mono QOA samples. The effects, speech, and calls are imported as 22.05 kHz mono QOA samples. The
authoritative artwork and the desktop, Android, and macOS imports are not authoritative artwork and the desktop, Android, and macOS imports are not
modified. Source artwork, design documents, tests, platform-specific icons, modified. Source artwork, design documents, tests, platform-specific icons,
music, and ambience are omitted from the temporary export project. This and ambience are omitted from the temporary export project. The original
build-time profile is always present in the PortMaster package; selecting the compressed title and dusk music remain available in both runtime profiles.
normal runtime profile restores visual effects, but does not restore omitted This build-time profile is always present in the PortMaster package; selecting
audio or replace the micro textures with desktop-resolution assets. the normal runtime profile restores visual effects, but does not restore
omitted ambience or replace the micro textures with desktop-resolution assets.
The normal profile otherwise retains the full visual presentation. The normal profile otherwise retains the full visual presentation.

View file

@ -351,14 +351,12 @@ func _configure_presentation_performance_profile(light_profile: bool) -> void:
func _configure_audio_performance_profile(light_profile: bool) -> void: func _configure_audio_performance_profile(light_profile: bool) -> void:
_title_music.stream = _load_optional_audio_stream(TITLE_MUSIC_PATH)
_dusk_music.stream = _load_optional_audio_stream(DUSK_MUSIC_PATH)
if light_profile: if light_profile:
_title_music.stream = null
_dusk_music.stream = null
_shoreline_ambience.set_audio_enabled(false) _shoreline_ambience.set_audio_enabled(false)
_rain_ambience.set_audio_enabled(false) _rain_ambience.set_audio_enabled(false)
return return
_title_music.stream = _load_optional_audio_stream(TITLE_MUSIC_PATH)
_dusk_music.stream = _load_optional_audio_stream(DUSK_MUSIC_PATH)
_shoreline_ambience.set_audio_enabled(true) _shoreline_ambience.set_audio_enabled(true)
_rain_ambience.set_audio_enabled(true) _rain_ambience.set_audio_enabled(true)

View file

@ -112,7 +112,6 @@ if [[ ${PACKAGE_ONLY} -eq 0 ]]; then
--exclude '/art/exported/system_icons/netfishing_1024.png' \ --exclude '/art/exported/system_icons/netfishing_1024.png' \
--exclude '/art/exported/system_icons/netfishing_1024.png.import' \ --exclude '/art/exported/system_icons/netfishing_1024.png.import' \
--exclude '/audio/ambience/' \ --exclude '/audio/ambience/' \
--exclude '/audio/music/' \
--exclude '/builds/' \ --exclude '/builds/' \
--exclude '/docs/design/' \ --exclude '/docs/design/' \
--exclude '/tests/' \ --exclude '/tests/' \
@ -183,7 +182,7 @@ Architecture: AArch64
Minimum linked GLIBC symbol version: GLIBC_2.28 Minimum linked GLIBC symbol version: GLIBC_2.28
Rendering method: gl_compatibility Rendering method: gl_compatibility
Texture profile: 128 px maximum; 64 px gameplay catalogs; ETC2 compressed Texture profile: 128 px maximum; 64 px gameplay catalogs; ETC2 compressed
Audio profile: 22.05 kHz mono QOA effects; music and ambience omitted Audio profile: original music retained; ambience omitted; effects use 22.05 kHz mono QOA
The executable and PCK were exported from the release commit listed above. The executable and PCK were exported from the release commit listed above.
Repository working-tree changes were not included in game content. Repository working-tree changes were not included in game content.
@ -218,9 +217,9 @@ selected data root. Device-local configuration remains under
\`netfishing/conf/\`. \`netfishing/conf/\`.
PortMaster launches use the light performance profile by default. Put the word PortMaster launches use the light performance profile by default. Put the word
\`normal\` in \`netfishing/conf/performance_profile\` to opt a capable device \`normal\` in \`netfishing/conf/performance_profile\` to opt a capable device
into the normal rendering profile. PortMaster packages omit music and ambience into the normal rendering profile. PortMaster packages retain title and world
in both profiles. See \`netfishing/licenses/\` for bundled credits and license music while omitting rain and shoreline ambience in both profiles. See
information. \`netfishing/licenses/\` for bundled credits and license information.
## Controls ## Controls

View file

@ -202,7 +202,7 @@ func _validate_low_end_profile_contract() -> void:
assert(asset_profile.contains("fish/species")) assert(asset_profile.contains("fish/species"))
assert(asset_profile.contains("art/exported/characters")) assert(asset_profile.contains("art/exported/characters"))
assert(builder.contains("--exclude '/audio/ambience/'")) assert(builder.contains("--exclude '/audio/ambience/'"))
assert(builder.contains("--exclude '/audio/music/'")) assert(not builder.contains("--exclude '/audio/music/'"))
func _make_button( func _make_button(

View file

@ -125,8 +125,8 @@ func _validate_main_profile(main: Node) -> void:
var player_menu := game_ui.get("_player_menu") as PlayerMenu var player_menu := game_ui.get("_player_menu") as PlayerMenu
assert(player_menu != null) assert(player_menu != null)
assert(not player_menu.is_cooler_water_effect_enabled()) assert(not player_menu.is_cooler_water_effect_enabled())
assert((main.get_node("%TitleMusic") as AudioStreamPlayer).stream == null) assert((main.get_node("%TitleMusic") as AudioStreamPlayer).stream != null)
assert((main.get_node("%DuskMusic") as AudioStreamPlayer).stream == null) assert((main.get_node("%DuskMusic") as AudioStreamPlayer).stream != null)
assert( assert(
(main.get_node("%WavesAudio") as AudioStreamPlayer).stream == null (main.get_node("%WavesAudio") as AudioStreamPlayer).stream == null
) )