Skip to content

Commit e50531c

Browse files
Add text effects and modifiers pages (#59)
1 parent 781dc3c commit e50531c

File tree

5 files changed

+355
-241
lines changed

5 files changed

+355
-241
lines changed

documentation/SUMMARY.md

Lines changed: 108 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -1,138 +1,137 @@
11
# Summary
22

3-
[Introduction](introduction.md)
3+
- [Introduction](introduction.md)
44
- [Getting Started](getting-started.md)
55

6-
[FAQ](faq.md)
6+
- [FAQ](faq.md)
77

88
- [Character & Portraits](characters-and-portraits.md)
9-
109
- [Custom Portraits](custom-portraits.md)
1110
- [Layered Portraits](layered-portraits.md)
1211

1312
- [Styles & Layouts](styles-and-layouts.md)
14-
1513
- [Dialogic Nodes](dialogic-nodes.md)
1614

15+
- [Writing Texts](writing-texts.md)
16+
- [Text Effects](text-effects.md)
17+
- [Text Modifiers](text-modifiers.md)
18+
1719
- [Variables](variables.md)
18-
1920
- [Timelines]()
20-
21-
- [Writing Text Events](./writing-text-events.md)
2221
- [Timeline Text Syntax](timeline-text-syntax.md)
2322
- [Creating Timelines In Code](creating-timelines-in-code.md)
2423

2524
- [Events]()
2625
- [Character Event](event-character.md)
2726

2827
- [Input]()
29-
28+
3029
- [Auto-Advance](auto-advance.md)
3130
- [Auto-Skip](auto-skip.md)
3231

3332
- [Utilities]()
34-
- [Dialogic Signals](dialogic-signals.md)
35-
- [Pausing](pausing.md)
36-
- [Saving & Loading](saving-and-loading.md)
37-
- [Reference Manager](reference-manager.md)
38-
- [Creating Extensions](creating-extensions.md)
39-
- [Glossary](glossary.md)
40-
- [Translations](translation.md)
33+
- [Dialogic Signals](dialogic-signals.md)
34+
- [Pausing](pausing.md)
35+
- [Saving & Loading](saving-and-loading.md)
36+
- [Reference Manager](reference-manager.md)
37+
- [Creating Extensions](creating-extensions.md)
38+
- [Glossary](glossary.md)
39+
- [Translations](translation.md)
4140

4241
- [Class Reference](class_index.md)
43-
- [Event](event_class_index.md)
44-
- [BackgroundEvent](classes/class_dialogicbackgroundevent.md)
45-
- [CallEvent](classes/class_dialogiccallevent.md)
46-
- [CharacterEvent](classes/class_dialogiccharacterevent.md)
47-
- [ChoiceEvent](classes/class_dialogicchoiceevent.md)
48-
- [CommentEvent](classes/class_dialogiccommentevent.md)
49-
- [ConditionEvent](classes/class_dialogicconditionevent.md)
50-
- [EndBranchEvent](classes/class_dialogicendbranchevent.md)
51-
- [EndTimelineEvent](classes/class_dialogicendtimelineevent.md)
52-
- [Event](classes/class_dialogicevent.md)
53-
- [GlossaryEvent](classes/class_dialogicglossaryevent.md)
54-
- [HistoryEvent](classes/class_dialogichistoryevent.md)
55-
- [JumpEvent](classes/class_dialogicjumpevent.md)
56-
- [LabelEvent](classes/class_dialogiclabelevent.md)
57-
- [DialogiClearEvent](classes/class_dialogiclearevent.md)
58-
- [MusicEvent](classes/class_dialogicmusicevent.md)
59-
- [PositionEvent](classes/class_dialogicpositionevent.md)
60-
- [ReturnEvent](classes/class_dialogicreturnevent.md)
61-
- [SaveEvent](classes/class_dialogicsaveevent.md)
62-
- [SettingEvent](classes/class_dialogicsettingevent.md)
63-
- [SignalEvent](classes/class_dialogicsignalevent.md)
64-
- [SoundEvent](classes/class_dialogicsoundevent.md)
65-
- [StyleEvent](classes/class_dialogicstyleevent.md)
66-
- [TextEvent](classes/class_dialogictextevent.md)
67-
- [TextInputEvent](classes/class_dialogictextinputevent.md)
68-
- [VariableEvent](classes/class_dialogicvariableevent.md)
69-
- [VoiceEvent](classes/class_dialogicvoiceevent.md)
70-
- [WaitEvent](classes/class_dialogicwaitevent.md)
71-
- [WaitInputEvent](classes/class_dialogicwaitinputevent.md)
72-
73-
- [Subsystem](subsystem_class_index.md)
74-
- [Audio](classes/subsystem_audio.md)
75-
- [Backgrounds](classes/subsystem_backgrounds.md)
76-
- [Portraits](classes/subsystem_portraits.md)
77-
- [Choices](classes/subsystem_choices.md)
78-
- [Animation](classes/subsystem_animation.md)
79-
- [Expression](classes/subsystem_expression.md)
80-
- [Input](classes/subsystem_input.md)
81-
- [Glossary](classes/subsystem_glossary.md)
82-
- [History](classes/subsystem_history.md)
83-
- [Jump](classes/subsystem_jump.md)
84-
- [Save](classes/subsystem_save.md)
85-
- [Settings](classes/subsystem_settings.md)
86-
- [Styles](classes/subsystem_styles.md)
87-
- [Text](classes/subsystem_text.md)
88-
- [Text Input](classes/subsystem_text_input.md)
89-
- [Variables](classes/subsystem_variables.md)
90-
- [Voice](classes/subsystem_voice.md)
91-
92-
- [Node](node_class_index.md)
93-
- [Node_BackgroundHolder](classes/class_dialogicnode_backgroundholder.md)
94-
- [Node_ButtonSound](classes/class_dialogicnode_buttonsound.md)
95-
- [Node_ChoiceButton](classes/class_dialogicnode_choicebutton.md)
96-
- [Node_DialogText](classes/class_dialogicnode_dialogtext.md)
97-
- [Node_Input](classes/class_dialogicnode_input.md)
98-
- [Node_NameLabel](classes/class_dialogicnode_namelabel.md)
99-
- [Node_PortraitContainer](classes/class_dialogicnode_portraitcontainer.md)
100-
- [Node_StyleLayer](classes/class_dialogicnode_stylelayer.md)
101-
- [Node_TextBubble](classes/class_dialogicnode_textbubble.md)
102-
- [Node_TextInput](classes/class_dialogicnode_textinput.md)
103-
- [Node_TypeSounds](classes/class_dialogicnode_typesounds.md)
104-
105-
- [Resource](resource_class_index.md)
106-
- [Character](classes/class_dialogiccharacter.md)
107-
- [CharacterFormatLoader](classes/class_dialogiccharacterformatloader.md)
108-
- [CharacterFormatSaver](classes/class_dialogiccharacterformatsaver.md)
109-
- [Glossary](classes/class_dialogicglossary.md)
110-
- [Style](classes/class_dialogicstyle.md)
111-
- [StyleLayer](classes/class_dialogicstylelayer.md)
112-
- [Timeline](classes/class_dialogictimeline.md)
113-
- [TimelineFormatLoader](classes/class_dialogictimelineformatloader.md)
114-
- [TimelineFormatSaver](classes/class_dialogictimelineformatsaver.md)
115-
116-
- [Other](other_class_index.md)
117-
- [DCSS](classes/class_dcss.md)
118-
- [Animation](classes/class_dialogicanimation.md)
119-
- [AutoAdvance](classes/class_dialogicautoadvance.md)
120-
- [AutoSkip](classes/class_dialogicautoskip.md)
121-
- [Background](classes/class_dialogicbackground.md)
122-
- [BackgroundTransition](classes/class_dialogicbackgroundtransition.md)
123-
- [CharacterEditorMainSection](classes/class_dialogiccharactereditormainsection.md)
124-
- [CharacterEditorPortraitSection](classes/class_dialogiccharactereditorportraitsection.md)
125-
- [CsvFile](classes/class_dialogiccsvfile.md)
126-
- [Editor](classes/class_dialogiceditor.md)
127-
- [GameHandler](classes/class_dialogicgamehandler.md)
128-
- [Indexer](classes/class_dialogicindexer.md)
129-
- [LayoutBase](classes/class_dialogiclayoutbase.md)
130-
- [LayoutLayer](classes/class_dialogiclayoutlayer.md)
131-
- [Portrait](classes/class_dialogicportrait.md)
132-
- [ResourceUtil](classes/class_dialogicresourceutil.md)
133-
- [SettingsPage](classes/class_dialogicsettingspage.md)
134-
- [Subsystem](classes/class_dialogicsubsystem.md)
135-
- [Util](classes/class_dialogicutil.md)
136-
- [VisualEditorField](classes/class_dialogicvisualeditorfield.md)
42+
- [Event](event_class_index.md)
43+
- [BackgroundEvent](classes/class_dialogicbackgroundevent.md)
44+
- [CallEvent](classes/class_dialogiccallevent.md)
45+
- [CharacterEvent](classes/class_dialogiccharacterevent.md)
46+
- [ChoiceEvent](classes/class_dialogicchoiceevent.md)
47+
- [CommentEvent](classes/class_dialogiccommentevent.md)
48+
- [ConditionEvent](classes/class_dialogicconditionevent.md)
49+
- [EndBranchEvent](classes/class_dialogicendbranchevent.md)
50+
- [EndTimelineEvent](classes/class_dialogicendtimelineevent.md)
51+
- [Event](classes/class_dialogicevent.md)
52+
- [GlossaryEvent](classes/class_dialogicglossaryevent.md)
53+
- [HistoryEvent](classes/class_dialogichistoryevent.md)
54+
- [JumpEvent](classes/class_dialogicjumpevent.md)
55+
- [LabelEvent](classes/class_dialogiclabelevent.md)
56+
- [DialogiClearEvent](classes/class_dialogiclearevent.md)
57+
- [MusicEvent](classes/class_dialogicmusicevent.md)
58+
- [PositionEvent](classes/class_dialogicpositionevent.md)
59+
- [ReturnEvent](classes/class_dialogicreturnevent.md)
60+
- [SaveEvent](classes/class_dialogicsaveevent.md)
61+
- [SettingEvent](classes/class_dialogicsettingevent.md)
62+
- [SignalEvent](classes/class_dialogicsignalevent.md)
63+
- [SoundEvent](classes/class_dialogicsoundevent.md)
64+
- [StyleEvent](classes/class_dialogicstyleevent.md)
65+
- [TextEvent](classes/class_dialogictextevent.md)
66+
- [TextInputEvent](classes/class_dialogictextinputevent.md)
67+
- [VariableEvent](classes/class_dialogicvariableevent.md)
68+
- [VoiceEvent](classes/class_dialogicvoiceevent.md)
69+
- [WaitEvent](classes/class_dialogicwaitevent.md)
70+
- [WaitInputEvent](classes/class_dialogicwaitinputevent.md)
71+
72+
- [Subsystem](subsystem_class_index.md)
73+
- [Audio](classes/subsystem_audio.md)
74+
- [Backgrounds](classes/subsystem_backgrounds.md)
75+
- [Portraits](classes/subsystem_portraits.md)
76+
- [Choices](classes/subsystem_choices.md)
77+
- [Animation](classes/subsystem_animation.md)
78+
- [Expression](classes/subsystem_expression.md)
79+
- [Input](classes/subsystem_input.md)
80+
- [Glossary](classes/subsystem_glossary.md)
81+
- [History](classes/subsystem_history.md)
82+
- [Jump](classes/subsystem_jump.md)
83+
- [Save](classes/subsystem_save.md)
84+
- [Settings](classes/subsystem_settings.md)
85+
- [Styles](classes/subsystem_styles.md)
86+
- [Text](classes/subsystem_text.md)
87+
- [Text Input](classes/subsystem_text_input.md)
88+
- [Variables](classes/subsystem_variables.md)
89+
- [Voice](classes/subsystem_voice.md)
90+
91+
- [Node](node_class_index.md)
92+
- [Node_BackgroundHolder](classes/class_dialogicnode_backgroundholder.md)
93+
- [Node_ButtonSound](classes/class_dialogicnode_buttonsound.md)
94+
- [Node_ChoiceButton](classes/class_dialogicnode_choicebutton.md)
95+
- [Node_DialogText](classes/class_dialogicnode_dialogtext.md)
96+
- [Node_Input](classes/class_dialogicnode_input.md)
97+
- [Node_NameLabel](classes/class_dialogicnode_namelabel.md)
98+
- [Node_PortraitContainer](classes/class_dialogicnode_portraitcontainer.md)
99+
- [Node_StyleLayer](classes/class_dialogicnode_stylelayer.md)
100+
- [Node_TextBubble](classes/class_dialogicnode_textbubble.md)
101+
- [Node_TextInput](classes/class_dialogicnode_textinput.md)
102+
- [Node_TypeSounds](classes/class_dialogicnode_typesounds.md)
103+
104+
- [Resource](resource_class_index.md)
105+
- [Character](classes/class_dialogiccharacter.md)
106+
- [CharacterFormatLoader](classes/class_dialogiccharacterformatloader.md)
107+
- [CharacterFormatSaver](classes/class_dialogiccharacterformatsaver.md)
108+
- [Glossary](classes/class_dialogicglossary.md)
109+
- [Style](classes/class_dialogicstyle.md)
110+
- [StyleLayer](classes/class_dialogicstylelayer.md)
111+
- [Timeline](classes/class_dialogictimeline.md)
112+
- [TimelineFormatLoader](classes/class_dialogictimelineformatloader.md)
113+
- [TimelineFormatSaver](classes/class_dialogictimelineformatsaver.md)
114+
115+
- [Other](other_class_index.md)
116+
- [DCSS](classes/class_dcss.md)
117+
- [Animation](classes/class_dialogicanimation.md)
118+
- [AutoAdvance](classes/class_dialogicautoadvance.md)
119+
- [AutoSkip](classes/class_dialogicautoskip.md)
120+
- [Background](classes/class_dialogicbackground.md)
121+
- [BackgroundTransition](classes/class_dialogicbackgroundtransition.md)
122+
- [CharacterEditorMainSection](classes/class_dialogiccharactereditormainsection.md)
123+
- [CharacterEditorPortraitSection](classes/class_dialogiccharactereditorportraitsection.md)
124+
- [CsvFile](classes/class_dialogiccsvfile.md)
125+
- [Editor](classes/class_dialogiceditor.md)
126+
- [GameHandler](classes/class_dialogicgamehandler.md)
127+
- [Indexer](classes/class_dialogicindexer.md)
128+
- [LayoutBase](classes/class_dialogiclayoutbase.md)
129+
- [LayoutLayer](classes/class_dialogiclayoutlayer.md)
130+
- [Portrait](classes/class_dialogicportrait.md)
131+
- [ResourceUtil](classes/class_dialogicresourceutil.md)
132+
- [SettingsPage](classes/class_dialogicsettingspage.md)
133+
- [Subsystem](classes/class_dialogicsubsystem.md)
134+
- [Util](classes/class_dialogicutil.md)
135+
- [VisualEditorField](classes/class_dialogicvisualeditorfield.md)
137136

138137
[Contributing](contributing.md)

documentation/text-effects.md

Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
<div class="header-banner tropical">
2+
<div class="header-label tropical">Text Effects</div>
3+
</div>
4+
5+
*Text effects are tags that define a position in text and an action that happens, when that position is reached during the reveal of the text. Many text effects take an additional argument. They are useful to change the behaviour of the text revealing (e.g. speed, pauses, skipping, etc.) or to react to specific moments in the text (signal, changing the speakers portrait or sound mood).*
6+
7+
## 📜 Content
8+
9+
[TOC]
10+
11+
## Splitting Events
12+
13+
### Effect: New Event
14+
15+
**Syntax:** `[n]` / `[n+]`
16+
17+
Visually starts a new event, requiring manual advancement by the user or by the Auto-Advance system.
18+
19+
The variant with the `+` will append the following text to the previous without clearing the text box.
20+
21+
### Effect: Input
22+
23+
**Syntax:** `[input]`
24+
25+
Will simply await any input when reached. As opposed to [n+], it is not breaking the text up into multiple sections and can thus be skipped.
26+
27+
---
28+
29+
## Speeds & Pauses
30+
31+
Text speed is a complicated topic, as it can be used in numerous ways. Dialogic has
32+
33+
- a **letter speed** (specifies the time to wait on each symbol)
34+
35+
- a **speed multiplier** (modifies the letter and pause speed, resets every event)
36+
37+
- a **text speed setting** (also modifies letter and pause speed)
38+
39+
---
40+
41+
### Letter Speed
42+
43+
The letter speed defines the time (in seconds) that each letter takes to be revealed. The default can be changed in the text settings. It can be changed temporarily (it will reset before the next event) with these effects:
44+
45+
#### Effect: Setting Letter Speed
46+
47+
**Syntax:** `[lspeed=x]` / `[lspeed]` / `[lspeed=x!]`
48+
49+
Sets the letter speed to x in seconds or resets to the default if no x is given. By default the speed is multiplied with both the temporary speed multiplier and the text speed setting. If you put a `!` behind the time (e.g. `[lspeed=0.1!]`) then this is not the case.
50+
51+
---
52+
53+
### Temporary Speed Multiplier
54+
55+
The speed multiplier is 1 by default, so it has no effect. It can be changed temporarily (it will reset before the next event) with these effects:
56+
57+
#### Speed Multiplier Effect
58+
59+
**Syntax:** `[speed=x]` / `[speed]`
60+
61+
Sets the temporary speed multiplier to x or 1 if nothing is given. As this will multiply the pause length and letter speed, a bigger number means a slower reveal, a smaller number means a faster reveal and 0 means an instant reveal.
62+
63+
---
64+
65+
### Pauses Effect
66+
67+
**Syntax:** `[pause=x]` / `[pause=x!]`
68+
69+
Pauses the reveal for x seconds (e.g., `[pause=0.2]`).
70+
71+
By default this duration will be multiplied with the temporary speed multipler and the text speed setting multiplier. If you put a `!` behind the time (e.g. `[pause=0.2!]`) then this is not the case.
72+
73+
*Related to this are **Auto-Pauses**, which can be configured in the text settings to insert pause effects after certain symbols. This can be used to easily alter the flow of punctuation.*
74+
75+
---
76+
77+
### Multiplier "Text Speed" (Dialogic Setting)
78+
79+
This is a `Dialogic Setting` so something that can be changed in-game via the Settings subsystem and is stored automatically and globally.
80+
81+
It defaults to 1 (no effect) and can be used to add a reveal speed setting to your games option menu.
82+
83+
You can access it via the Settings subsystem `Dialogic.Settings.text_speed = 0.5`. This should enable you to implement a speed slider in your settings
84+
85+
---
86+
87+
## Signal Effect
88+
89+
**Syntax:** `[signal=arg]`
90+
91+
Emits the `Dialogic.text_signal` signal with the given argument. Useful if you want something to happen at a specific moment during the text. Learn more about the signal: [Dialogic Signals](./dialogic-signals.md)
92+
93+
---
94+
95+
## Portrait & Type Sound Mood Effects
96+
97+
### Portrait Effect
98+
99+
**Syntax:** `[portrait=name]`
100+
101+
Changes the portrait of the speaker to the portrait with the given name.
102+
103+
### Type Sound Mood Effect
104+
105+
**Syntax:** `[mood=name]`
106+
107+
Changes the typing mood to the one with the given name.
108+
109+
---
110+
111+
## Auto-Advance Effect
112+
113+
**Syntax:** `[aa]` / `[aa=x]` / `[aa=x?]`
114+
115+
Enables the Auto-Advance for the *current* text event.
116+
117+
A time x (in seconds) can be given to set the Auto-Advance time. This time is absolute and overwrites the more relative "per word" or "per letter" settings.
118+
119+
If the time is given with a `?` then it will *only* set the time and *not* enable Auto-Advance. This is useful if the player can freely enable/disable Auto-Advance and you just want to define a different Auto-Advance time for this event, but not change it's state.
120+
121+
---
122+
123+
## No Skip Effect
124+
125+
**Syntax:** `[ns]` / `[ns=x]`
126+
127+
This effect temporarily (for this event) disables text skipping *and* manual advance and enables Auto-Advance with the given time x (in seconds).

0 commit comments

Comments
 (0)