Don't require a start level for novel rendering since no headers are converted to html

This commit is contained in:
p11 2025-04-21 16:15:56 +02:00
parent 19e1683786
commit 721c3d6fdc
2 changed files with 5 additions and 12 deletions

View File

@ -614,7 +614,6 @@ fn handle_relative_connection(
file_paths.pk, file_paths.pk,
file_paths.mld, file_paths.mld,
&mut stream, &mut stream,
start_level,
choice, choice,
progress, progress,
) )

View File

@ -6,7 +6,7 @@ use indexmap::IndexMap;
use maud::{Markup, html}; use maud::{Markup, html};
use multilinear::{BorrowedMultilinearSimulation, Event}; use multilinear::{BorrowedMultilinearSimulation, Event};
use multilinear_parser::{NamedMultilinearInfo, parse_multilinear}; use multilinear_parser::{NamedMultilinearInfo, parse_multilinear};
use pukram2html::convert_subheader; use pukram2html::convert;
use vn_settings::{Change, Parameter, PlayerSettings, SettingsContext, extract_layers}; use vn_settings::{Change, Parameter, PlayerSettings, SettingsContext, extract_layers};
use crate::dialog::parse_map; use crate::dialog::parse_map;
@ -337,7 +337,6 @@ pub fn render_novel(
pk_path: &Path, pk_path: &Path,
mld_path: &Path, mld_path: &Path,
stream: &mut TcpStream, stream: &mut TcpStream,
start_level: usize,
choice: usize, choice: usize,
progress: &str, progress: &str,
) -> Result<(), dialogi::ParsingError> { ) -> Result<(), dialogi::ParsingError> {
@ -348,7 +347,7 @@ pub fn render_novel(
player_settings.extract_settings(&mut settings_context, &mut config_map); player_settings.extract_settings(&mut settings_context, &mut config_map);
let dialogs = parse_map(pk_path, &mut settings_context)?; let dialogs = parse_map(pk_path, &mut settings_context)?;
let mut sections = process_dialog(&dialogs[choice], &mut player_settings, start_level); let mut sections = process_dialog(&dialogs[choice], &mut player_settings);
if let Some(named_multilinear_info) = load_multilinear(mld_path) { if let Some(named_multilinear_info) = load_multilinear(mld_path) {
let multilinear_info = &named_multilinear_info.info; let multilinear_info = &named_multilinear_info.info;
@ -402,7 +401,6 @@ pub fn render_novel(
fn process_dialog( fn process_dialog(
dialog_sequence: &dialogi::DialogSequence<Change, Parameter>, dialog_sequence: &dialogi::DialogSequence<Change, Parameter>,
player_settings: &mut PlayerSettings, player_settings: &mut PlayerSettings,
start_level: usize,
) -> Vec<Markup> { ) -> Vec<Markup> {
let mut sections = Vec::new(); let mut sections = Vec::new();
@ -418,7 +416,7 @@ fn process_dialog(
sections.push(html! { sections.push(html! {
(render_scene(player_settings, &block.name)) (render_scene(player_settings, &block.name))
(render_dialog_block(block, start_level)) (render_dialog_block(block))
}); });
} }
@ -454,17 +452,13 @@ fn apply_block_changes(
} }
} }
fn render_dialog_block(block: &dialogi::DialogBlock<Parameter>, start_level: usize) -> Markup { fn render_dialog_block(block: &dialogi::DialogBlock<Parameter>) -> Markup {
if block.lines.is_empty() { if block.lines.is_empty() {
return html! {}; return html! {};
} }
let mut content = Vec::new(); let mut content = Vec::new();
convert_subheader( convert(block.lines.iter().map(|l| l.text.as_ref()), &mut content);
block.lines.iter().map(|l| l.text.as_ref()),
&mut content,
start_level,
);
html! { html! {
fieldset .visual-novel-box { fieldset .visual-novel-box {