Difference between revisions of "HPL3/Amnesia: Rebirth/Tutorials/Tablets"
< HPL3 | Amnesia: Rebirth | Tutorials
Jump to navigation
Jump to search
(More info) |
(Final touches) |
||
Line 4: | Line 4: | ||
To get a custom readable tablet in Rebirth: | To get a custom readable tablet in Rebirth: | ||
− | # | + | # In <code>readables.cfg</code>: |
− | # Set the note ID and FrontEntry to whatever you want | + | ## Set up a new category for your map. |
− | # | + | ## Create a new entry. Set the note ID and FrontEntry to whatever you want. They don't have to be the same, although that's what FG usually did. |
− | # In that category, set up an entry with the same name as the FrontEntry name previously set for the tablet in <code>readables.cfg</code> | + | # In <code>english.lang</code>: |
− | # Place the <code>dw_tablet_readable.ent</code> entity somewhere in a level | + | ## Place a category in with the same name as the category ID from <code>readables.cfg</code> |
− | # Set the Readable/ID parameter of the entity to the ID from <code>readables.cfg</code> | + | ## In that category, set up an entry with the same name as the FrontEntry name previously set for the tablet in <code>readables.cfg</code> |
− | # Set the GUI func to <code>OnGuiDWNote</code> and set text scale as wanted | + | ## Add an entry called <code><FrontEntry Name>_En</code>. This is the blue text that will appear on the tablet itself (you probably want to set the same text as previously). |
− | # Add this to your include list in your map script: <code>#include "helpers/custom/helper_props_custom.hps"</code> | + | ## Add an entry called <code><FrontEntry Name>_Name</code>. This is the name of the entry in the sketchbook. |
− | # Place this function somewhere in your script: | + | ## Add a category called "Levels" and inside add an entry which is called the same as the "Name" parameter in the <code>readables.cfg</code> category. This will be the sketchbook category. |
+ | # In your map: | ||
+ | ## Place the <code>dw_tablet_readable.ent</code> entity somewhere in a level | ||
+ | ## Set the Readable/ID parameter of the entity to the ID from <code>readables.cfg</code> | ||
+ | ## Set the GUI func to <code>OnGuiDWNote</code> and set text scale as wanted | ||
+ | # In the map script: | ||
+ | ## Add this to your include list in your map script: <code>#include "helpers/custom/helper_props_custom.hps"</code> | ||
+ | ## Place this function somewhere in your script: | ||
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> | ||
void OnGuiDWNote(const tString&in asEntityName, float afTimeStep) | void OnGuiDWNote(const tString&in asEntityName, float afTimeStep) | ||
Line 20: | Line 27: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | If you want to make a tablet unreadable, leave the Readable/ID parameter of the tablet empty. This means that it doesn't need lang and readables entries. | + | If you want to make a tablet unreadable (orange gibberish), leave the Readable/ID parameter of the tablet empty. This means that it doesn't need lang and readables entries. |
− | + | Good practices: | |
− | + | * Name your tablet in game as <code>Readable_<ID HERE></code> | |
− | + | * If the tablet isn't going to be readable, name the entity like this: <code>Readable_DWNote_MiscXX</code>, where XX are numbers | |
− | |||
− | * Name your tablet in game as <code>Readable_<ID HERE></code> | ||
− | * If the tablet isn't going to be readable, name the entity like this: <code>Readable_DWNote_MiscXX</code>, where XX are numbers | ||
== Config file examples == | == Config file examples == | ||
Line 36: | Line 40: | ||
<Entry Name="TestTablet_FrontEntry">My first tablet bla bla bla bla bla</Entry> | <Entry Name="TestTablet_FrontEntry">My first tablet bla bla bla bla bla</Entry> | ||
<Entry Name="TestTablet_FrontEntry_Name">This is the entry name in the sketchbook</Entry> | <Entry Name="TestTablet_FrontEntry_Name">This is the entry name in the sketchbook</Entry> | ||
+ | <Entry Name="TestTablet_FrontEntry_En">This is what will appear on the tablet in blue text</Entry> | ||
</CATEGORY> | </CATEGORY> | ||
Revision as of 01:22, 10 November 2020
This tutorial will detail how to make a custom Dark World tablet. They are the dark-grey tablets that have hieroglyphic text on them which gets translated after a moment. The tutorial assumes you can set up your mod and have basic skills in scripting etc.
Tutorial
To get a custom readable tablet in Rebirth:
- In
readables.cfg
:- Set up a new category for your map.
- Create a new entry. Set the note ID and FrontEntry to whatever you want. They don't have to be the same, although that's what FG usually did.
- In
english.lang
:- Place a category in with the same name as the category ID from
readables.cfg
- In that category, set up an entry with the same name as the FrontEntry name previously set for the tablet in
readables.cfg
- Add an entry called
<FrontEntry Name>_En
. This is the blue text that will appear on the tablet itself (you probably want to set the same text as previously). - Add an entry called
<FrontEntry Name>_Name
. This is the name of the entry in the sketchbook. - Add a category called "Levels" and inside add an entry which is called the same as the "Name" parameter in the
readables.cfg
category. This will be the sketchbook category.
- Place a category in with the same name as the category ID from
- In your map:
- Place the
dw_tablet_readable.ent
entity somewhere in a level - Set the Readable/ID parameter of the entity to the ID from
readables.cfg
- Set the GUI func to
OnGuiDWNote
and set text scale as wanted
- Place the
- In the map script:
- Add this to your include list in your map script:
#include "helpers/custom/helper_props_custom.hps"
- Place this function somewhere in your script:
- Add this to your include list in your map script:
void OnGuiDWNote(const tString&in asEntityName, float afTimeStep)
{
DWNote_RenderGUI(asEntityName, afTimeStep);
}
If you want to make a tablet unreadable (orange gibberish), leave the Readable/ID parameter of the tablet empty. This means that it doesn't need lang and readables entries.
Good practices:
- Name your tablet in game as
Readable_<ID HERE>
- If the tablet isn't going to be readable, name the entity like this:
Readable_DWNote_MiscXX
, where XX are numbers
Config file examples
English.lang:
<LANGUAGE>
<CATEGORY Name="sample_map">
<Entry Name="TestTablet_FrontEntry">My first tablet bla bla bla bla bla</Entry>
<Entry Name="TestTablet_FrontEntry_Name">This is the entry name in the sketchbook</Entry>
<Entry Name="TestTablet_FrontEntry_En">This is what will appear on the tablet in blue text</Entry>
</CATEGORY>
<CATEGORY Name="Levels">
<Entry Name="sample_map_sketchbook_category">This is the category name in the sketchbook</Entry>
</CATEGORY>
</LANGUAGE>
Readables.cfg:
<Readables>
<Categories>
<Category ID="sample_map" Name="sample_map_sketchbook_category">
<Notes>
<Note ID="TestTablet" VoiceSubject="" FrontEntry="TestTablet_FrontEntry" BackEntry="" ImageEntry="" />
</Notes>
</Category>
</Categories>
</Readables>