Don't require a start level for novel rendering since no headers are converted to html
This commit is contained in:
parent
19e1683786
commit
721c3d6fdc
@ -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,
|
||||||
)
|
)
|
||||||
|
|||||||
16
src/vn.rs
16
src/vn.rs
@ -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 {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user