Uploaded game files
|
@ -0,0 +1,5 @@
|
|||
# Dialog Node
|
||||
|
||||
This is the node that allows your created dialogue timelines to appear.
|
||||
|
||||
You can either drag it into one of your scenes from `/addons/dialogic/Dialog.tscn` or create one using the `Dialogic.start()` function.
|
166
project/addons/dialogic/Documentation/Content/Reference/001.md
Normal file
|
@ -0,0 +1,166 @@
|
|||
# Dialog Class
|
||||
|
||||
The Dialogic class provides pretty much all the methods you need to interact with Dialogic via code.
|
||||
You can access them simply by using the class name `Dialogic.method_i_want_to_call()`.
|
||||
|
||||
## Starting Dialog
|
||||
|
||||
### start()
|
||||
`start(timeline, default_timeline, dialog_scene_path, use_canvas_instead)`
|
||||
|
||||
Starts the dialog for the given timeline and returns a Dialog node.
|
||||
You must then add it manually to the scene to display the dialog.
|
||||
|
||||
Example:
|
||||
```
|
||||
var new_dialog = Dialogic.start('Your Timeline Name Here')
|
||||
add_child(new_dialog)
|
||||
```
|
||||
|
||||
`@param timeline`
|
||||
The timeline you wish to load. You can provide the timeline name or the filename, at your discretion. Leave this empty to start from a save slot.
|
||||
We encourage you to specify the timeline name with the folders in front (e.g. 'Part 1/Chapter 1').
|
||||
|
||||
`@param default_timeline`
|
||||
If timeline == '' (so it's loading from the save slot) and no valid data was found, this will be loaded.
|
||||
|
||||
`@param dialog_scene_path`
|
||||
If you made a custom Dialog scene or moved it from its default path, you can specify its new path here.
|
||||
|
||||
`@param use_canvas_instead`
|
||||
True by default. Creates the Dialog inside a canvas layer to make it show up regardless of the camera 2D/3D situation.
|
||||
|
||||
**@returns**
|
||||
A Dialog node to be added into the scene tree (see example above).
|
||||
|
||||
|
||||
### change_timeline()
|
||||
`change_timeline(timeline)`
|
||||
|
||||
Is used to change the current timeline. This way the state of the DialogNode (like characters, the theme and background music) are preserved from the currently active node.
|
||||
|
||||
`@param timeline`
|
||||
Same as the one on `start()`, although it cannot load from saves.
|
||||
|
||||
|
||||
### next_event()
|
||||
`next_event(discreetly)`
|
||||
Is used to immediately play the next event.
|
||||
|
||||
`@param discreetly`
|
||||
A boolean (default value: false) that determines whether the Passing Audio will be played.
|
||||
|
||||
|
||||
### timeline_exists()
|
||||
`timeline_exists(timeline)`
|
||||
Returns true if a timeline with the given name at the given path exists, otherwise false.
|
||||
|
||||
`@param timeline`
|
||||
The name/path to check.
|
||||
|
||||
|
||||
|
||||
## Saving and loading
|
||||
The Dialogic class provides the following methods for dealing with saving and loading. Learn more about how to use them in the Saving and Loading tutorial.
|
||||
|
||||
### load()
|
||||
`load(slot_name)`
|
||||
|
||||
`@param slot_name`
|
||||
Specifies the slot name to be loaded. If empty, it will load the default save.
|
||||
|
||||
### save()
|
||||
`save(slot_name)`
|
||||
|
||||
`@param slot_name`
|
||||
Specifies the slot name to be saved to. If empty, it will save to the default slot.
|
||||
|
||||
### get_slot_names()
|
||||
`get_slot_names()`
|
||||
|
||||
**@returns**
|
||||
An array with all the available slot names.
|
||||
|
||||
### erase_slot()
|
||||
`erase_slot(slot_name)`
|
||||
|
||||
`@param slot_name`
|
||||
Specifies the slot name to be deleted.
|
||||
|
||||
### has_current_dialog_node()
|
||||
`has_current_dialog_node()`
|
||||
|
||||
**@returns**
|
||||
True if there is a Dialog Node active, otherwise false.
|
||||
|
||||
### reset_saves()
|
||||
`reset_saves(slot_name)`
|
||||
|
||||
`@param slot_name`
|
||||
Specifies the slot to be reset. Uses the default slot if left empty.
|
||||
|
||||
### get_current_slot()
|
||||
`get_current_slot()`
|
||||
|
||||
**@returns**
|
||||
The name of the last loaded slot or "/" if import() was used.
|
||||
|
||||
### export()
|
||||
`export()`
|
||||
Is used to get all necessary info, so you can save it however you want.
|
||||
|
||||
**@returns**
|
||||
A dictionary with all important information about the dialogic game state.
|
||||
There are three sub-dictionaries with the keys 'definitions', 'state' and 'dialog_state'.
|
||||
- *'definitions'* contains all the definitions, values as well as glossary entries (only their current value, not the defaults
|
||||
- *'state'* contains the so called "game_state": custom information that can be accessed with the `Dialogic.get_saved_state_general_key()` and `Dialogic.set_saved_state_general_key()` methods.
|
||||
- *'dialog_state'* that contains all information needed to load the dialog back in (if any dialog was playing when export() is called. Example information is the current timeline, event index, characters on screen with their portraits, background, music, etc...
|
||||
|
||||
### import()
|
||||
`import(data)`
|
||||
Is used to load data that was exported back in.
|
||||
|
||||
`@param data`
|
||||
A dictionary that should be the same as the one you get from `export()`.
|
||||
|
||||
|
||||
|
||||
## Variables
|
||||
You can change the value definitions through your code!
|
||||
### set_variable()
|
||||
`set_variable(name, value)`
|
||||
|
||||
Sets the value of the value definition named `@param name` to `@param value`.
|
||||
|
||||
### get_variable()
|
||||
`get_variable(name, default)`
|
||||
|
||||
Returns the current (not default) value of the value definition named `@param name` or `@param default` if no value definition like that was named.
|
||||
|
||||
### clear_all_variables()
|
||||
`clear_all_variables()`
|
||||
|
||||
Clears all configured variables.
|
||||
|
||||
## Game State
|
||||
The game state is custom information that you can access with the following functions and that will be saved and loaded alongside the other dialogic data.
|
||||
|
||||
### get_saved_state_general_key()
|
||||
`get_saved_state_general_key(key, default)`
|
||||
|
||||
**@returns**
|
||||
The value of the given `@param key` or `@param default` if nothing is found.
|
||||
|
||||
### set_saved_state_general_key()
|
||||
`set_saved_state_general_key(key, value)`
|
||||
|
||||
Changes the value of the given `@param key` to the value of `@param value`.
|
||||
|
||||
|
||||
## Other stuff
|
||||
|
||||
### get_action_button()
|
||||
Mostly used for internal purposes.
|
||||
|
||||
**@returns**
|
||||
The input action selected on the dialogic setting page.
|
|
@ -0,0 +1,41 @@
|
|||
# Character Editor
|
||||
|
||||
The `Character Editor` is used to set up the characters of your story. Here you can learn more about the editor's settings.
|
||||
|
||||
### Color and Name Name
|
||||
The first settings are the character's name and the color used for it. This is the name that you will see in all the menus, and by default it's the one displayed when the character is speaking.
|
||||
|
||||
### Display Name
|
||||
You can change what name is shown in game when the character speaks by enabeling and setting the `Display Name`.
|
||||
|
||||
### Nicknames
|
||||
By default, all occurrences of the character's name in text are colored in the character's color.
|
||||
*This can be disabled in settings.*
|
||||
By using the `Nicknames` feature, you can add additional names that will also be colored. Just enable the Nicknames box and add all Names that should be colored as a comma- (`,`)-seperated list.
|
||||
|
||||
### Description
|
||||
This area is for you to take notes. It has no effect on your game.
|
||||
|
||||
### Theme
|
||||
This allows to use a different theme whenever the character speaks. The game will change back to the previous one once a different character speaks.
|
||||
|
||||
|
||||
## Portraits / Expressions
|
||||
This section is one of the most important, as it allows you to load all the images of your character. We highly recommend that you give each one a useful name, as it will make it easier to use them!
|
||||
You can also import a whole folder of images with the **`Import folder`** button.
|
||||
|
||||
### Scale
|
||||
Changing this allows you to scale the portraits down. If your portraits are far too big in the game, adjust this setting until they look right.
|
||||
|
||||
### Offset
|
||||
Sets an offset that will adjust the position of your character in two dimensions, depending on the base location selected in the timeline.
|
||||
|
||||
### Mirror portraits
|
||||
This will mirror all of the portraits. You can use the mirror option of the `Character Event` if you just want to mirror it sometimes.
|
||||
|
||||
|
||||
## Preview
|
||||
On the right, you can see a preview of the currently selected portrait.
|
||||
|
||||
You can change between "Full View" which will fit the portrait image to the size of the preview container. Use "Actual Size" to see the image in the size it will have in the game.
|
||||
|
|
@ -0,0 +1,133 @@
|
|||
# History timeline
|
||||
|
||||
When enabled, the History timeline feature automatically builds a log of events that can be reviewed by the user or, if audio is enabled, replay the audio as well. The History timeline is at its core an opinionated, fancy logging system, and has many settings that can be configured to change its behavior. In addition to these settings, the history timelines look and feel can also be customized further by intermediate to experienced users, without affecting its functionality.
|
||||
|
||||

|
||||
|
||||
The above image gives a rough look at how a history timeline can look in game. By default, a History timeline is made up of a *History* node that instances a single *HistoryBackground*, two *HistoryButtons*, and as many *HistoryRows* as neccesary. The History timeline is destroyed along with the rest of the Dialogic node when the timeline ends.
|
||||
|
||||
## History settings
|
||||
Unless otherwise noted, all settings are enabled by default.
|
||||
|
||||
### Enable history
|
||||
Allows history logs to be taken. If disabled no other history settings will be displayed, and no history log will be kept in game
|
||||
|
||||
### Show open button
|
||||
Displays the default history open button. This button opens the history timeline and disappears while it is open. Its position is determined by the History button position setting. If you wish to customize this button, refer to the History anatomy below
|
||||
|
||||
### Show close button
|
||||
Displays the default history close button. This button closes the history timeline and disappears while it is closed. Its position is determined by the History button position setting. If you wish to customize this button, refer to the History anatomy below
|
||||
|
||||
### Log all choices
|
||||
Record all possible choices the player could have picked from a choice event in the format:
|
||||
*\[choice 1\] \\t \[choice 2\] \\t \[choice 3\] \\t*
|
||||
|
||||
If you need this format changed, the code can be found here:
|
||||
https://github.com/coppolaemilio/dialogic/blob/5e99dfe0374695ff4ec3680bad75d17ffe939264/addons/dialogic/Nodes/History.gd#L236-L237
|
||||
|
||||
### Log choice answer
|
||||
Record the choice ultimately selected by the player in a choice event in the format:
|
||||
*\\t \<choice goes here\>*
|
||||
|
||||
If you need this format changed, the code can be found here:
|
||||
https://github.com/coppolaemilio/dialogic/blob/5e99dfe0374695ff4ec3680bad75d17ffe939264/addons/dialogic/Nodes/History.gd#L244
|
||||
|
||||
### Log character joins
|
||||
Record when a character joins a timeline in the format:
|
||||
*\<display name of character\> \<character join Text\>*
|
||||
|
||||
Which by default displays as:
|
||||
*Emilio has arrived*
|
||||
|
||||
### Log character joins text
|
||||
The text to display after a character name when a character arrives. This defaults to 'has arrived'. This option has no effect if Log character joins is disabled
|
||||
|
||||
### Log character leaves
|
||||
Record when a character leaves a timeline in the format:
|
||||
*\<display name of character\> \<character leave Text\>*
|
||||
|
||||
Which by default displays as:
|
||||
*Emilio has left*
|
||||
|
||||
### Log character leaves text
|
||||
The text to display after a character name when a character leaves. This defaults to 'has left'. This option has no effect if Log character leaves is disabled
|
||||
|
||||
### Scroll to bottom
|
||||
Auto scrolls the history timeline to the most recent entry. Disable this if you wish for your player to start reading from the first entry and have to scroll down manually
|
||||
|
||||
### Reverse timeline
|
||||
Add new HistoryRows to the top of the history timeline, reversing the default way the timeline is built. This option is **disabled** by default
|
||||
|
||||
### Show name colors
|
||||
Use the color defined in the character within the timeline
|
||||
|
||||

|
||||
|
||||
In this case the characters name woudld be blue in the history timeline. Disable this option to force character names to use the default font color.
|
||||
|
||||
### Line break after names
|
||||
Forces the character name to be logged on a separate line from the rest of the text. This option is **disabled** by default
|
||||
|
||||
### History button position
|
||||
Choose the relative location on screen you want the default history open and default history close button to appear
|
||||
|
||||

|
||||
|
||||
If you wish to customize this further, consider using the exposed *toggle_history* function described in History API below
|
||||
|
||||
### Name delimiter
|
||||
Type in the 'delimiter' to be affixed to the character name in the history timeline. By default this is a colon *\:* which would display as:
|
||||
*Emilio: Welcome to dialogic!*
|
||||
|
||||
Changing this to a dash *\-* would display as:
|
||||
*Emilio- Welcome to dialogic!*
|
||||
|
||||
### Screen margin
|
||||
Sets a distance in pixels that the history panel will buffer away from the edge of the screen.
|
||||
|
||||

|
||||
|
||||
This example would give a margin of 25 pixels on the left and right sides of the screen (X axis) and 10 pixels on the top and bottom of the screen (Y axis)
|
||||
|
||||
### Log margin
|
||||
Sets a distance in pixels that the history panel will buffer away from the HistoryRows that it contains.
|
||||
|
||||

|
||||
|
||||
This example would give a margine of 45 pixels on the left and right sides of the screen (X axis) and 15 pixels on the top and bottom of the screen (Y axis). Note that the Y axis pixels may not be as apparent as the scrollcontainer may obscure the bottom margin.
|
||||
|
||||
## History anatomy
|
||||

|
||||
|
||||
The History node is a child of the DialogicNode and is made up of an AudioStreamPlayer to replay TextEvent audio and a ScrollContainer to ultimately hold HistoryRow instances. Neither of these nodes have much cause to be changed or customized.
|
||||
|
||||

|
||||
|
||||
The History node has four exposed script variables that are instanced at run time and can be customized, changed, or extended to suit your needs. These default parts can all be found in the */addons/dialogic/Example Assets/History/* folder.
|
||||
|
||||
### History background
|
||||
There is no special code and few considerations when replacing or customizing the HistoryBackground. Its simply a panel with *mouse_filter* set to ignore.
|
||||
|
||||
### HistoryButton and HistoryReturnButton
|
||||
There is no special code or considerations when replacing either button. The only difference in these buttons are the Button texts. The buttons have their own theme that can be replaced, overridden, or ignored
|
||||
|
||||
### HistoryRow
|
||||

|
||||
|
||||
If you intend to replace the HistoryRow, make sure to extend the script. HistoryRow contains two important functions
|
||||
* add_history(historyString : string, newAudio='') - Called to actually write the data to the HistoryRow by the main History node. Edit this function with care.
|
||||
* load_theme(theme: ConfigFile) - called by the History node to theme the HistoryRow with the default theme of Dialogic. If you wish to style your HistoryRow manually, than replace this functions content with a *pass*.
|
||||
|
||||
The key nodes of the HistoryRow are the *RichTextLabel* which is where the actual text appears and the *PlayAudioButton* which allows replays of audio dialog in TextEvents. In the case of customizing your own HistoryRow, you will need to set the node path of these nodes which can be done via the script varialbes as seen below
|
||||

|
||||
|
||||
|
||||
## History api
|
||||
There is one exposed function in Dialogic that relates to the History system: toggle_history(). Toggle history is used to create your own custom button or function to open and close the History window. It is called like this:
|
||||
*Dialogic.toggle_history()*
|
||||
And can easily be tied to a button or function like so:
|
||||
|
||||
```
|
||||
func _on_CustomHistoryButton_pressed():
|
||||
Dialogic.toggle_history()
|
||||
```
|
After Width: | Height: | Size: 10 KiB |
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/history_button_positions.png-72533a28ddfc07077b44d0a6e96e1baa.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/dialogic/Documentation/Content/Reference/Images/history_button_positions.png"
|
||||
dest_files=[ "res://.import/history_button_positions.png-72533a28ddfc07077b44d0a6e96e1baa.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
After Width: | Height: | Size: 2.2 KiB |
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/history_character_color_example.png-e1c188d6ea27265bea79e5b0452da876.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/dialogic/Documentation/Content/Reference/Images/history_character_color_example.png"
|
||||
dest_files=[ "res://.import/history_character_color_example.png-e1c188d6ea27265bea79e5b0452da876.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
After Width: | Height: | Size: 2.3 KiB |
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/history_log_margin.png-7951084d0435f2e56c190e6e2640f6c5.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/dialogic/Documentation/Content/Reference/Images/history_log_margin.png"
|
||||
dest_files=[ "res://.import/history_log_margin.png-7951084d0435f2e56c190e6e2640f6c5.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
After Width: | Height: | Size: 9 KiB |
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/history_row_scene_tree.png-45ecd56d38d8cae30e7bfa33cc7d6498.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/dialogic/Documentation/Content/Reference/Images/history_row_scene_tree.png"
|
||||
dest_files=[ "res://.import/history_row_scene_tree.png-45ecd56d38d8cae30e7bfa33cc7d6498.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
After Width: | Height: | Size: 10 KiB |
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/history_row_script_variables.png-7faf5863895922f33870b2c95d224224.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/dialogic/Documentation/Content/Reference/Images/history_row_script_variables.png"
|
||||
dest_files=[ "res://.import/history_row_script_variables.png-7faf5863895922f33870b2c95d224224.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
After Width: | Height: | Size: 8.6 KiB |
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/history_scene_tree.png-452d329581c0c1aabc4c7ba3d492f918.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/dialogic/Documentation/Content/Reference/Images/history_scene_tree.png"
|
||||
dest_files=[ "res://.import/history_scene_tree.png-452d329581c0c1aabc4c7ba3d492f918.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
After Width: | Height: | Size: 2.9 KiB |
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/history_screen_margin.png-5500c4e829498bbfd61b259518ec8556.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/dialogic/Documentation/Content/Reference/Images/history_screen_margin.png"
|
||||
dest_files=[ "res://.import/history_screen_margin.png-5500c4e829498bbfd61b259518ec8556.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
After Width: | Height: | Size: 23 KiB |
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/history_script_variables.png-149d850163ef255e463f2a6fe425c246.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/dialogic/Documentation/Content/Reference/Images/history_script_variables.png"
|
||||
dest_files=[ "res://.import/history_script_variables.png-149d850163ef255e463f2a6fe425c246.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
After Width: | Height: | Size: 69 KiB |
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/history_settings_explained.png-cfaf538faf67b5a114d0d588774b6c80.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/dialogic/Documentation/Content/Reference/Images/history_settings_explained.png"
|
||||
dest_files=[ "res://.import/history_settings_explained.png-cfaf538faf67b5a114d0d588774b6c80.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
110
project/addons/dialogic/Documentation/Content/Reference/Theme.md
Normal file
|
@ -0,0 +1,110 @@
|
|||
# Theme Editor
|
||||
|
||||
Themes allow you to set how your dialogue looks, sounds, and behaves.
|
||||
|
||||
At the top of the Theme Editor you have a **preview field.** Here, you can set the text to be previewed, the speaker of the preview, and force a preview refresh.
|
||||
|
||||
The settings are sorted into different sections. Most are self-explanatory, but some require a little more in the way of explanation.
|
||||
|
||||
## Dialog Text
|
||||
Allows you to set the look and behavior of the text inside the dialog box.
|
||||
|
||||
##### Margin
|
||||
Sets the individual margin between the border of the box and the edge the dialog text for a given side.
|
||||
|
||||
##### Behaviour>Speed
|
||||
Using this setting, you can change the speed at which the text is shown. Bigger values will result in a slower speed.
|
||||
Setting this to 0 will result in the text instantly appearing.
|
||||
|
||||
##### Behaviour>Alignment
|
||||
Use this to align the text inside the box.
|
||||
|
||||
##### Behaviour>Single Portrait Mode
|
||||
If you enable this mode, there will always only be one portrait visible. This will be the portrait of the character who is currently speaking.
|
||||
|
||||
##### Behaviour>Don't Close After Last Event
|
||||
If enabled, the dialog box will not delete itself after the last event. Instead you will need to remove it manualy. Usefull if the box is intergrated into your design and should never vanish.
|
||||
|
||||
|
||||
## Dialog Box
|
||||
### Dialog Box>Visuals
|
||||
You may choose either a solid color or a texture for the background of the box. For the texture, you can also change its modulation.
|
||||
|
||||
## Dialog Box>Visuals>9-Patch Margin Left/Right and Top/Bottom
|
||||
Allows you to configure 9-Patch Rectangle support on the approprate sides of your image. See this tutorial for details on how a 9-patch rect works [Youtube](https://www.youtube.com/watch?v=1u4817DKvb8). Leaving these values at 0 treats the texture as a normal background texture.
|
||||
|
||||
##### Size and Position>Full width
|
||||
This setting makes your box stretch to the full extent of the view.
|
||||
|
||||
##### Size and Position>Margin
|
||||
Sets the individual margin between the border of the box and the edge of the viewport.
|
||||
|
||||
|
||||
### Next indicator
|
||||
An icon that appears once the text is completed.
|
||||
|
||||
### Dialog Box>Behaviour
|
||||
##### Behaviour>Fade in time
|
||||
Sets how long the theme takes to fade in. Fading only happens on dialog load and is not triggered by the `Set Theme` event.
|
||||
|
||||
##### Behaviour>Portraits Dim Color
|
||||
Use this to change the modulation of the active character. Set it to white if you do not want any changes.
|
||||
|
||||
##### Behaviour>Portraits Behind Dialog Box
|
||||
If you disable this, the portraits will instead be in front of the dialog box.
|
||||
|
||||
|
||||
## Name Label
|
||||
The `Name Label` is the section above the text box that displays the name of the character who is currently speaking.
|
||||
|
||||
##### Behaviour>Hide name labels
|
||||
If this is enabled, the name label will not be shown.
|
||||
|
||||
##### Text>Use character Color
|
||||
If you enable this, the name label will always use the color of the currently speaking character. The characters color can be edited in the [Character Editor](./Character.md).
|
||||
|
||||
### Name Label>Box
|
||||
As for the text box, you can choose between a solid color or a texture.
|
||||
|
||||
##### Box>Box Padding
|
||||
The padding between the texture border and the text.
|
||||
|
||||
### Name Label>Placement
|
||||
Here you can set the alignment of the `Name label` as well as setting some additional offset.
|
||||
|
||||
|
||||
## Choice Buttons
|
||||
You can change the look of the buttons four states, although "Disabled" currently does nothing.
|
||||
|
||||
|
||||
## Glossary
|
||||
These setting lets you define the appearance of the box that appears when you hover over a glossary entry.
|
||||
|
||||
##### Visuals>Word color
|
||||
Sets the color of glossary word inside the dialog.
|
||||
|
||||
##### Behaviour>Show
|
||||
If this is disabled, the glossary info box won't be shown and glossary entries won't be colored.
|
||||
|
||||
|
||||
## Audio
|
||||
This sections allows you to set audio for your dialogue. Dialogic uses the [RandomAudioPlayer by TimKrief](https://gitlab.com/timkrief/godot-random-audio-stream-player).
|
||||
|
||||
When selecting what audio to play, you can either select a single audio file or a folder where a file will be picked from.
|
||||
You can set a range for the `volume` - a random level in that range will be picked each time it's called. Likewise, you can set a range for the `pitch`. `Allow interrupt` dictates whether or not the sound can be interrupted by a new sound of that type.
|
||||
|
||||
##### Typing Sound Effects
|
||||
When the text scrolls across the screen, this will play a sound for each letter.
|
||||
|
||||
##### Next Sound Effects>Waiting
|
||||
If you set a sound here, it will play once the text has finished typing.
|
||||
|
||||
##### Next Sound Effects>Passing
|
||||
This plays when the player continues to the next dialogue box.
|
||||
|
||||
##### Choice Sound Effects>Hovered
|
||||
This sound plays when a character is hovering over a choice button.
|
||||
|
||||
##### Choice Sound Effects>Selecting
|
||||
Plays when a character selects a choice button.
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
# Timeline Editor
|
||||
|
||||
The `timeline editor` is one of the central parts of Dialogic, allowing you create your dialogue tree using the Events system.
|
||||
|
||||
This editor consists of two parts: the main area, and the event bar on the side. The event bar allows you to add events to the main area, and the main area is where you write your text and arrange the events to create your timeline tree.
|
||||
|
||||
## Building a timeline
|
||||
Begin by pressing an event button or dragging it onto the main area in a desired location.
|
||||
|
||||
Once in the timeline tree, you can move events by dragging and dropping them.
|
||||
|
||||
|
||||
## Shortcuts
|
||||
By holding CTRL, you can select multiple events by clicking on them. By holding SHIFT, you can select a range of events from the one initially selected to the one you click on.
|
||||
|
||||
The editor supports the following short-cuts:
|
||||
`
|
||||
CRTL+C copy selected events
|
||||
CRTL+P paste selected events
|
||||
CRTL+X cut selected events
|
||||
DEL delete selected events
|
||||
DOWN/UP select the next/previous event
|
||||
ALT+UP/DOWN move the selected event up or down (only works with one event)
|
||||
CRTL+A select all events
|
||||
CRTL+SHIFT+A deselect all events
|
||||
CRTL+Z undo the last event action
|
||||
CRTL+Y or CRTL+SHIFT+Z redo the last undone action
|
||||
|
||||
CRTL+T add a new Text event
|
||||
`
|
||||
|