Tomb Raider Forums  

Go Back   Tomb Raider Forums > Tomb Raider Level Editor and Modding > Tomb Raider Level Editor > Tutorials and Resources

Closed Thread
 
Thread Tools
Old 29-08-16, 13:56   #1
AkyV
Moderator
 
Joined: Dec 2011
Posts: 4,881
Default TRNG - Diary

Made using TRNG 1.2.2.7.+

You can have one or more diaries (maximum 99) in each level.

Yes, not only one, because diaries can have different tasks, perhaps one diary is a real diary, another one is used as an encyclopedia of Lara’s new movements, the third one is a history book, presenting the background story of Lara’s actual adventure etc.

This is how it works:
There is a usual pickable item which Lara needs to pick up. It is the item of the diary, so Lara has a diary now. (Each diary has its own item, she needs to pick up another item for another diary.) Go into the inventory, and use the item, “to open the diary”. – Now a background image fills the screen (looking like a book opened, a PDA screen, or something similar), which must be the diary background. This is one page of the diary. You need to “turn the page” with the keys, which means the contents on the background will be refreshed, as if you looked at another page now.

The useable keys:
  • Right arrow or SPACE: turning a page (forwards),
  • Left arrow: turning a page (backwards),
  • SPACE (at the last page): jumping to the first page,
  • ESC: closing the diary.
Paolone’s diary demo level is available here.

An example for a diary page:



Requirements in a nutshell:

If you want to see a diary in a level, then these are the requirements:
  • Proper, diary related Script commands for that level.
  • A pickable item in the WAD, which will be the diary item in the inventory.
  • An image (in the editor main folder, or in Pix subfolder, as usual) as the diary background. (Optionally more images, if you change the background for some pages.)
  • Optionally: different illustrations (usual images) you can see in the diary pages.
  • One or more TXT files in Script subfolder, as “default” and (optionally) “later added” diary contents (texts).
    (Even “default”could sometimes be not necessary. I mean diaries can be empty, or they perhaps drag the default contents from the previous level.)
  • Optionally: sounds in the WAD what you can hear, if you want, when “turning pages” etc.
  • Optionally: one or more audio files in the audio folder (if you want to hear a different audio, than the level audio, when the diary is open).
  • Optionally: triggers to add or remove some contents to/from the diary, or open the diary at the required page.
Script commands for a diary:

You need four command types for each diary:
  • One Diary command for the main parameters.
  • One or more WindowsFont commands for defining fonts used in the diary.
  • One or more ColorRGB commands for defining the font colors.
  • One Pickup, Puzzle or Key command for defining the parameters of the diary item. (Not needed if the diary is a Quest Item.)
The command order is very important this time!
The diary setup will probably fail if you don’t follow this order:

ColorRGB
(item command)
WindowsFont
Diary

But you can stuff other commands amongst these commands.

Note:
If Lara carries the diary to the next level, then you need to repeat those Script commands for the diary there.
You can change only what is logical. Eg. if a TXT is defined in the commands as the default contents in the first level, then you don’t need to define it as default in the Script of the second level, if the contents won’t change.
By the way, I don’t recommend not carrying a diary (removing the diary item from the inventory, not adding diary scripts in the latest levels) till the end of a game, once that diary is added.

The Diary Script command:

Syntax:
Diary= Id Diary, SlotDiaryItem, LaraDiaryFlags (LDF_...), BackGroundImageID, Default PageLayout (PL_...), FirstString, TitleWFontId, CommonTextWFontId

Id Diary field:
You can choose any ID for each diary, between 1 and 99.
The ID is important, if Lara carries the diary to the next level as well, so in the next level you need the same ID for this diary.

SlotDiaryItem field:
The pickable item (eg. PICKUP_ITEM3) which is the item of this diary in the inventory.
Don’t forget: if Lara carries the diary to the next level, then the same object in the same object slot also must be in the WAD of the next level, identified as the diary item in the SlotDiaryItem field of that level.

LaraDiaryFlags (LDF_...) fields:
Basic flags can be added here for this diary.
If you want to add more than one flag here then type Sign + between them.
If you don’t want to add any flag here then type IGNORE.
  • LDF_PLAY_TRACK: the ID of the loop audio track (in audio folder) you can hear when the diary is open.
    For example, if you want to play 098.wav as that loop, then you need to type this now: LDF_PLAY_TRACK+98.
    Note: you can choose even single tracks for the required pages. (See more about it below.)
  • LDF_SILENT: you won’t hear any audio while the diary is open. (See more about it below.)
  • LDF_SOUND_EFFECTS: usually there are no sounds for “turning page” etc. when you use the diary – except if you add this flag. (See more about it below.)
  • LDF_TRANSPARENT_BKG: the magenta color in the diary background image will be transparent.
    Notes:
    a, No effect on diary illustrations.
    b, Possible malfunction in the cases of widescreen or using LDF_ZOOM_START.
    c, If there are more than one background images for a diary, then the same parts of the images must be magenta now.
  • LDF_ZOOM_START: usually the diary will be on the screen at once when you open it. But with this flag it is only a tiny spot initially in the middle of the screen, and grows to 100% in some moments.
Always when you type a Script constant in a field, you can type the ID number instead of that constant, if you want.
See NG Center/Reference/Mnemonic Constants for the ID’s.
For example, LDF_SOUND_EFFECTS has 1024 (decimal) or $0400 (hexadecimal) ID – you can choose any of them.
If you want more than one constant then attach them to each other with Sign +, in any form. For example, the ID of LDF_TRANSPARENT_BKG is 8192 or $2000. If you choose LDF_SOUND_EFFECTS and LDF_TRANSPARENT_BKG constants, then type 1024+8192, $0400+$2000, $0400+8192 or 1024+$2000.
Moreover you can add those values, typing only their sum: 9216 (=1024+8192) or $2400 (=$0400+$2000). – Use your Windows calculator for hexadecimal operations.

BackGroundImageID field:
The ID of an image must be typed here. (Not the ID of an Image Script command!) This image will be the background of this diary.
The name is always ImageX.bmp. X can be any number, without the “unnecessary” zero values (so eg. never type 070 if it is 70.) For example, if the name is Image70.bmp, you need to type 70 now.
You can choose other background images for the required pages. (See more about it below.)

Default PageLayout (PL_...) field:
For the page layout of this diary.
If you want to add more than one flag here then type Sign + between them.
But you need to add at least one flag, for the main look of the layout. (However, you can choose other PL flags for the required pages. See more about it below.)
  • PL_ADD_INFO_BAR: the diary background image won’t be filled with texts, there will be one empty row on the bottom. (Useful flag eg. if you have some pattern on the bottom of the page that you don’t want to cover with the texts.)
  • PL_CENTRAL_IMAGE: the contents will be aligned to the vertical axis of the background, in this order (from above downwards): illustration, title, text.
  • PL_CUSTOM_LAYOUT: customized layout will be used. (See more about it below.)
  • PL_DOUBLE_PAGE: the texts will be split into two blocks: the first part of the texts on the left side, the second part on the right side. (Title is above the first block. Illustration is above the title.)
  • PL_FIX_WIDE_SCREEN: use it for widescreens to prevent the ugly look. (Recommended layout is PL_DOUBLE_PAGE.) – I am not sure if it is really a useful feature, though.
  • PL_LEFT_IMAGE: the illustration will be placed in the upper left quarter of the background. The text will start in the upper right quarter. When the text reaches under the bottom of the illustration, then it will fill the whole width of the background. (Title is above the text.)
  • PL_LEFT_IMAGE_LOGO: the illustration will be placed in the upper left quarter of the background. The text will start under the bottom of the illustration, filling the whole width of the background. (Title is between the text and the illustration.)
  • PL_RIGHT_IMAGE: the illustration will be placed in the upper right quarter of the background. The text will start in the upper left quarter. When the text reaches under the bottom of the illustration, then it will fill the whole width of the background. (Title is above the text.)
  • PL_RIGHT_IMAGE_LOGO: the illustration will be placed in the upper right quarter of the background. The text will start under the bottom of the illustration, filling the whole width of the background. (Title is between the text and the illustration.)
  • PL_WIDE_IMAGE: just like PL_CENTRAL_IMAGE, except: the illustration will be strecthed (keeping ratio) for the whole width of the background. (Recommended eg. if you want a trick for using two illustrations, one for each side of the background, so you save two illustrations, next to each other, in this image file.)
Note:
Please do attempts with the different layouts because under some circumstances you won’t get what you want.
For example, illustrations will be always stretched or compressed to fill their places, but keeping the ratio between its vertical height and horizontal length. Eg. in the case of PL_DOUBLE_PAGE if height is relatively way bigger than length, then the illustration will be too high when filling the left side of the background.
See for example the illustration at the top of the tutorial. It is made with PL_DOUBLE_PAGE – however, due to the height, you don’t have space enough for the left block, so the text start in the right block.
On the other hand, the illustration below with the black tower (also made with PL_DOUBLE_PAGE) has other ratio: length is bigger than height, so when the image fills the left side, then there will be space enough for the left text block.

FirstString field:
A contents of any (!) string (ExtraNG or other) must be typed here which will be the default contents of the diary – but I’d recommend something else.
I mean, in fact, usually diary contents are too complicated to define them easily in a string, that is why you type the default contents in a TXT file. The name of this TXT will be typed in an ExtraNG string, with a Sign @, like eg. @MyDiary.txt. (Other string types are not allowed now!)- So the string content is @MyDiary.txt, this is what you need to type now in FirstString field.

Notes:
  • Type IGNORE here, if the diary is empty initially, or if the default content of the diary in this level is exactly the content what this diary had in the previous level.
    (If you want an empty diary which had some contents in the previous level, then use the proper flipeffect to remove the contents when the level starts. Or remove only the required content with the flipeffect if you wouldn’t like to have all the diary contents of the previous level.)
  • I don’t recommend empty diaries, sometimes it might result the game will crash, if you open it. (Perhaps you should try to add a blank TXT instead, as “no contents”.)
  • You can type even “Sign ! + string ID” instead of typing the ExtraNG contents. For example, if you type @MyDiary.txt in ExtraNG string#12, then you can type !12 in FirstString field, instead of @MyDiary.txt.
TitleWFontId field:
Type an ID of a WindowsFont Script command here.
That will be the default font of the titles of this diary.
You can choose other title fonts for the required pages. (See more about it below.)

CommonTextWFontId field:
Type an ID of a WindowsFont Script command here.
That will be the default font of the non-title texts of this diary.
You can choose other non-title text fonts for the required pages. (See more about it below.)

The WindowsFont Script command:

Syntax:
WindowsFont= IdWindowFont, WindowFontName, WindowsFontFlags (WFF_...), SizeFont, ColorRbgId, ShadowColorRgbId

IdWindowFont field:
You can choose any ID for each WindowsFont command, between 1 and 99.
Each WindowsFont will work only for the feature what feature refers to the ID of that WindowsFont:
  • Diary Script command, TitleWFontId field: general diary title font,
  • Diary Script command, CommonTextWFontId field: general diary non-title text font,
  • TXT files for diary contents, #TITLE_FONT# command: the diary title font of that page,
  • TXT files for diary contents, #TEXT_FONT# command: the diary non-title text font of that page.
Notes:
  • Even more features are allowed to refer to the same WindowsFont.
  • Not only diary features use WindowsFont commands, but we don’t discuss other features now.
WindowFontName field:
The name of the font. – Choose the name of a font you have in your Windows.

Important notes:
  • If players don’t have that font in their Windows, then your diary will fail in their computers.
    So name a common, well-known font now, or add the file of this rare font to your game pack, so players will install it.
  • Don’t forget to type the font name also in a (any) string.
If you’d like to support some native characters for the texts printed with this WindowsFont, then you need to name the required font with a code number (both in this field and in the strings), like:

204: Arial

The meaning of the most important code numbers:

ANSI_CHARSET: 0
DEFAULT_CHARSET: 1
SYMBOL_CHARSET: 2
SHIFTJIS_CHARSET: 128
HANGEUL_CHARSET: 129
JOHAB_CHARSET: 130
GB2312_CHARSET: 134
CHINESEBIG5_CHARSET: 136
GREEK_CHARSET: 161
TURKISH_CHARSET: 162
VIETNAMESE_CHARSET: 163
HEBREW_CHARSET: 177
ARABIC_CHARSET: 178
BALTIC_CHARSET: 186
RUSSIAN_CHARSET: 204
THAI_CHARSET: 222
EASTEUROPE_CHARSET: 238
OEM_CHARSET: 255

Then, if the characterset still doesn’t work, you also need to try to type a constant in WindowsFontFlags field of this command:

WFF_UNICODE - recommended mostly with Asian characters.
WFF_UTF8 - recommended mostly with Eastern European characters.

WindowsFontFlags (WFF_...) field:
Basic flags can be added here for this WindowsFont command.
If you want to add more than one flag here then type Sign + between them.
But you need to add at least one flag, for the text alignment:
  • WFF_BOLD: bold characters,
  • WFF_CENTER_ALIGN: text has center alignment,
  • WFF_FORCE_FIXED_PITCH: for the same character width,*
  • WFF_FROM_RIGHT_TO_LEFT: typing from right to left (for Arabic or Hebrew texts),*
  • WFF_ITALIC: Italic characters,
  • WFF_LEFT_ALIGN: text has left alignment,
  • WFF_LIGHT: for very slim characters,*
  • WFF_RIGHT_ALIGN: text has right alignment,
  • WFF_SHADOW: text has some “shadow on the paper”,
  • WFF_ULTRA_BOLD: ultra bold characters,*
  • WFF_UNDERLINE: underlined characters,
  • WFF_UNICODE or WFF_UTF8: I don’t detail their complicated setup now, because they look more complicated for diaries. You can read about them eg. in my font tutorial.
*: I didn’t really have successful tests with these features, I don’t know how successfull they are.

Note:
I didn’t mention some WFF flags which don’t work for WindowsFont commands of diaries.

SizeFont field:
Type the number of the font size here.

ColorRbgId field:
Type the ID of a ColorRGB Script command here, to define the color of this font.

ShadowColorRgbId field:
If you chose shadow for the font (WFF_SHADOW), then type the ID of a ColorRGB Script command here, to define the color of the shadow.
Otherwise type IGNORE.

Other tools to form texts have not any effects on diary fonts!
(Those tools are: Font.pc file, FONT_GRAPHICS object, DefaultWindowsFont, TextFormat, Customize= CUST_SET_TEXT_COLOR, Customize= CUST_SHOW_AMMO_COUNTER, Parameters= PARAM_PRINT_TEXT or Parameters= PARAM_WTEXT Script commands, “Text.Set” or “Cutscene... Text” flipeffect triggers.)

The Pickup, Puzzle or Key Script command:

This is TRLE basics, I don’t detail it now.

The ColorRGB Script command:

This is a very easy command, for example:

ColorRGB= 14, 221, 152, 76

Which means the ID of this command is 14, and its color is RGB=221/152/76.

The diary item:

Choose any PICKUP_ITEM, QUEST_ITEM, PUZZLE_ITEM or KEY_ITEM.

Notes:
  • Don’t forget NOT using the diary item for another reason at the same time. (Eg. a key item cannot be a real key when that is just a diary.)
  • Don’t use DIARY_ITEM slot as a diary. (Unuseable Moveable object slots like that are great if you want to store meshes for a mesh-to-swap feature.)
The diary background image:

It is usually the image you define in BackGroundImageID field of Diary Script command.
But if you type another image ID in a #BG_IMAGE# command of a TXT, then that page will have a different background than usual.

Diary illustrations:

Type an image ID in a #POP_IMAGE# command of a TXT. That page will show that image as an illustration.
You can have maximum only one illustration per page.

Diary contents:

The #END_PAGE command is used to split a contents of a TXT into pages – for example this TXT means three pages in the diary:

-------the top of TXT
texts on Page1
#END_PAGE#
texts on Page2
#END_PAGE#
texts on Page3
-------the bottom of TXT

Type the text on the page as you usually type texts. Feel free to use new paragraphs, empty rows, tabulation etc. in these texts, as usual.

Notes:
  • Which matters is naturally the diary look in the game. So eg. if you need an ugly tabulation to make the diary look nicely in the game, then who cares if the TXT is ugly.
    Be careful: if you have bad tabulation, too big font etc. so the texts in the TXT has not enough space on the diary background in the game, then some parts of the text will naturally be cut off. (You won’t see them even in other pages.)
  • If you change a TXT file you need to build the Script again everyway, to realize the changes.
  • As you see, there is no #END_PAGE command at the end of TXT. However, you need to separate Page3 and Page4 from each other if you add later a TXT with Page4 and Page5 to the diary, so in that case the new TXT has to start with an #END_PAGE command:
-------the top of TXT
#END_PAGE#
texts on Page4
#END_PAGE#
texts on Page5
-------the bottom of TXT
But the first page of a TXT cannot be the first page of the diary if that TXT starts with an #END_PAGE#.
The command section:

You need a command section on a page if you want at least one element on that page of these elements:
  • title,
  • illustration,
  • customized layout (if you adjusted it in the Diary Script command),
  • different layout than the one defined in the Diary Script command,
  • different non-title text font than the one defined in the Diary Script command,
  • different background image than the one defined in the Diary Script command,
  • single audio track.
The command sections are on the top of their pages, and they start with a <FORMAT> entry and end with an <END_FORMAT> entry.
For example, a diary with three pages has command sections in the first two pages, but doesn’t have on the third one:

-------the top of TXT
<FORMAT>
forming commands for Page1
<END_FORMAT>
texts on Page1
#END_PAGE#
<FORMAT>
forming commands for Page2
<END_FORMAT>
texts on Page2
#END_PAGE#
texts on Page3
-------the bottom of TXT

The forming commands are:
  • #TITLE_FONT#: type here a WindowsFont command ID. (Use it if the title of this page has different font than you adjusted in Diary command.)
  • #TEXT_FONT#: type here a WindowsFont command ID. (If the texts of this page has different font than you adjusted in Diary command.)
  • #PAGE_LAYOUT#: type one or (with Sign +) more PL constants here, as if it were the Default PageLayout (PL_...) field. (If the layout of this page is different than you adjusted in Diary command.)
  • #BG_AUDIO#: type an ID of an audio file here. (If you want a single audio on this page.)
  • #BG_IMAGE#: type an ID of an image file here. (If the background image of this page is different than you adjusted in Diary command.)
  • #POP_IMAGE#: type an ID of an image file here – that will be the illustration of this page.
  • #TITLE#: type a short text here – that will be the title of this page.
  • #FRAME_IMG#, #FRAME_T1#, #FRAME_T2#: use these commands to define the layout of this page if you chose customized layout with PL_CUSTOM_LAYOUT.
    Imagine it as a PL_LEFT_IMAGE or a PL_RIGHT_IMAGE setup: there is an image, the first part of the text (Text Box1) is next to the image, the second part of the text (Text Box2) is below the image.
    #FRAME_IMG# is the position of the image,
    #FRAME_T1# is the position of Text Box1,
    #FRAME_T2# is the position of Text Box2.
    Each command has four numbers for the coordinates. For example:

    #FRAME_IMG#=A,B,C,D
    A: the distance between the screen left edge and the image left edge,
    B: the distance between the screen top edge and the image top edge,
    C: the horizontal length of the image on the screen,
    D: the vertical height of the image on the screen.

    Use NG Center/Tools/Get Screen Frames to calculate coordinates. (Not easy, sometimes we get false solution!)
The order of the forming commands isn’t important in the section.

Diary sounds:

The basic sounds are:

Sound slot ID#2: LARA_NO – if there is no more page in the direction in which we want to turn the page
Sound slot ID#7: LARA_HOLSTER – the noise of turning a page
Sound slot ID#76: BLAST_CIRCLE – the noise for LDF_ZOOM_START effect

You can change these sound slots with this Script command:

Syntax:
Customize= CUST_SFX, TypeSound (TS_...), Sound Effect Number

TypeSound (TS_...) field:
Name the sound here you want to change:
  • TS_DIARY_CHANGE_PAGE: for turning pages
  • TS_DIARY_NO_PAGE: for no more pages
  • TS_DIARY_ZOOM_START: for zooming effect
Note:
There are several other sounds to change with CUST_SFX, but they are no diary relevant.

Sound Effect Number field:
Type the ID of the new sound slot.
You can find the sound slot IDs in NGLE/Dropdown Menu/Effects/Sound panel.

Diary audio tracks:

The possible setups are:
  • No LDF_PLAY_TRACK, LDF_SILENT, BG_AUDIO: channel1 background loop track keeps playing while the diary is open. Channel2 foreground single track is aborted when the diary opens.
  • No LDF_PLAY_TRACK, LDF_SILENT, but there is BG_AUDIO: channel1 background loop track keeps playing while the diary is open. Channel2 foreground single track is aborted when the diary opens.
    The track named in BG_AUDIO starts as a channel2 single track, each time when you turn the page to that page. The track is aborted when you turn the page to another page. The track continues if you close the diary when that track plays.
  • No LDF_PLAY_TRACK, BG_AUDIO, but there is LDF_SILENT: channel1 background loop track and channel2 foreground single track are aborted when the diary opens. Channel1 resumes (where it was interrupted from) when the diary closes.
  • No LDF_SILENT, BG_AUDIO, but there is LDF_PLAY_TRACK: channel1 background loop track keeps playing while the diary is open. Channel2 foreground single track is aborted when the diary opens.
    The track named in LDF_PLAY_TRACK starts as a channel2 loop track each time when the diary opens. The track continues if you close the diary.
  • No LDF_PLAY_TRACK, but there is LDF_SILENT, BG_AUDIO: channel1 background loop track and channel2 foreground single track are aborted when the diary opens. Channel1 resumes (where it was interrupted from) when the diary closes.
    The track named in BG_AUDIO starts as a channel2 single track, each time when you turn the page to that page. The track is aborted when you turn the page to another page, or if you close the diary.
  • No LDF_SILENT, but there is LDF_PLAY_TRACK and BG_AUDIO: channel1 background loop track keeps playing while the diary is open. Channel2 foreground single track is aborted when the diary opens.
    The track named in LDF_PLAY_TRACK starts as a channel2 loop track each time when the diary opens – except if its is a page with BG_AUDIO -, or each time if you turn the page from a page with BG_AUDIO to a page without BG_AUDIO. The track is aborted when you turn the page to a page with BG_AUDIO. The track continues if you close the diary, when that track plays.
    The track named in BG_AUDIO starts as a channel2 single track, each time when you turn the page to that page. The track is aborted when you turn the page to another page. The track continues if you close the diary when that track plays.
  • No BG_AUDIO, but there is LDF_PLAY_TRACK, LDF_SILENT: channel1 background loop track and channel2 foreground single track are aborted when the diary opens. Channel1 resumes (where it was interrupted from) when the diary closes.
    The track named in LDF_PLAY_TRACK starts as a channel2 loop track each time when the diary opens. The track is aborted if you close the diary.
  • There is LDF_PLAY_TRACK, LDF_SILENT, BG_AUDIO: channel1 background loop track and channel2 foreground single track are aborted when the diary opens. Channel1 resumes (where it was interrupted from) when the diary closes.
    The track named in LDF_PLAY_TRACK starts as a channel2 loop track each time when the diary opens – except if its is a page with BG_AUDIO -, or each time if you turn the page from a page with BG_AUDIO to a page without BG_AUDIO. The track is aborted when you turn the page to a page with BG_AUDIO, or if you close the diary.
    The track named in BG_AUDIO starts as a channel2 single track, each time when you turn the page to that page. The track is aborted when you turn the page to another page, or if you close the diary.
Diary triggers:

The flipeffect triggers you can use to control diaries:
  • F219: add some new contents (one or more further pages) to the required diary, attaching them to the last actual page of the diary.
    Just like in the case of the default content, it must be a TXT file, whose name is typed with Sign @ in an ExtraNG string, which is referred in this trigger.
  • F220: removes all the contents from the required diary.
  • F221: removes the content added latest, from the required diary.
  • F222: opens the required diary at the required page.
Notes:
  • Diary triggers can be activated even if Lara hasn’t picked the diary item yet. (Which could be unwanted, eg. if you add some contents with F219 before you opening the diary with the default contents.)
  • Even if F219 is not One Shot, the content won’t be added if it is already added (except if it is not the latest addendum of the diary) at the newer trigger activation – till you remove it from the diary.
  • As I said above, you should be careful with empty diaries. So eg. if you remove all the contents with F220, then you should add some new contents at the same time.
But, for technical reasons, I suggest a TriggerGroup for that, instead of triggers overlapped in the map. The first exported trigger will clear the contents, the second one will add the new content.

An example for a diary:

Script:

ColorRGB= 1, 255,0,0
ColorRGB= 2, 0,0,0
Pickup= 2, My Diary, $0000,$0300,$C000,$0000,$0000,$0002
WindowsFont= 1, Arial, WFF_BOLD+WFF_CENTER_ALIGN+WFF_SHADOW, 40, 1, 2
WindowsFont= 2, Arial, WFF_LEFT_ALIGN, 22, 2, IGNORE
Diary= 1,PICKUP_ITEM2, LDF_PLAY_TRACK+214+LDF_SILENT+LDF_ZOOM_START+LDF_S OUND_EFFECTS, >
1, PL_DOUBLE_PAGE, @pages_1_3.txt,1, 2

So the diary item is PICKUP_ITEM2 with the name of “My Diary”. The diary plays Track#214 in loop in channel2 when being open, channel1 is silent. The diary uses sound effects and opens with a nice zoom effect. The layout is double paged – because Image1.bmp, what we use as a background, looks like a book opened. The default contents of the diary is typed in pages_1_3.txt. We use WindowsFont#1 for the diary titles and WindowsFont#2 for other diary texts.
WindowsFont#1 (so title texts) has Arial bold characters with shadow and center alignment. The character size is 40. ColorRGB#1 (red: RGB=255/0/0) is used for the font color and ColorRGB#2 (black: 0/0/0) for the shadow color.
WindowsFont#2 (so other texts) characters are Arial and aligned left, printed in black (ColorRGB#2= 0/0/0), their size is 22.

The default contents of the diary (pages_1_3.txt):

<FORMAT>
#POP_IMAGE#=5
#TITLE#=Welcome
<END_FORMAT>

In this demo you can see how you could use the new trng feature of Lara's diary.
You could create a sort of walkthrought with images to give some tip to your players.
There are new flipeffects to add new texts to diary, in this way you can keep updated the diary in according with the progress of the adventure.
You can have upto 10 diary in same level, and, thanks to this chance, we could say that the diary is like an advanced Examine item.

In follow pages (use right key or extract weapons key to pass to next page) there is a sample about tips.
You'll find some helps to solve this little and easy demo level.
#END_PAGE#
<FORMAT>
#POP_IMAGE#=3
#TITLE#=The Black Tower
#TEXT_FONT#=3
<END_FORMAT>

There is a black tower, it's weird I don't remember to have ever seen it in the past.
Probably I should explore it, pheraps there is some interesting information in that building.
#END_PAGE#
<FORMAT>
#POP_IMAGE#=4
#TITLE#=The StrongBox
#TEXT_FONT#=3
<END_FORMAT>
I saw also another news: there is a strongbox but it's closed.
How could I open it?
I don't see any key or opening mechanism.
Pheraps I should simply search better, there is a side behind that strongbox where I've not yet looked.

See Page#1 is at the top of the tutorial.
Page#2 and 3 are:





The only difference in the look of the pages is the smaller texts of WindowsFont#2 in page#1 and the bigger texts of WindowsFont#3 in page#2 and 3. The bigger font has Size 36:

WindowsFont= 3, Arial, WFF_LEFT_ALIGN, 36, 2, IGNORE

Page#4 is added later with a flipeffect (page4.txt):

#END_PAGE#
<FORMAT>
#POP_IMAGE#=7
#TITLE#=The Crowbar
#TEXT_FONT#=3
<END_FORMAT>

I found a crowbar but how could I use it?
I remember to have seen an electronic panel where there was a little chip on it.
Pheraps I could extract that chip using the crowbar...



Page#5 and 6 is added later with a flipeffect (pages5_6.txt):

#END_PAGE#
<FORMAT>
#POP_IMAGE#=2
#TITLE#=Another Chip
#TEXT_FONT#=3
<END_FORMAT>

In the strongbox I found another chip, but this is different than other.
It's bigger, how could I use it?
Probably there is somewhere another electronic panel to host this big chip but where...?!
#END_PAGE#
<FORMAT>
#POP_IMAGE#=8
#TITLE#=Where is this building?
#TEXT_FONT#=3
<END_FORMAT>
Now I remember!
I saw antoher electronic panel like that some time ago.
It was in a hidden bay, there was also an old subwater house and another on the beach.
I'm sure: there was an electronic panel in that building on the beach.





Special setups:

Diary in the title:

Yes, it is possible!
The difference from the original setup:
  • Type IGNORE in the Diary Script command for the diary item. This setup doesn’t require a diary item in the WAD or picked up.
  • Activate an F222 trigger if you want to open the diary.
Diary, save game, load game with the same inventory item:

http://www.tombraiderforums.com/showthread.php?t=191263

Last edited by AkyV; 25-05-23 at 19:18.
AkyV is online now  
Closed Thread

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



All times are GMT. The time now is 20:12.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Tomb Raider Forums is not owned or operated by CDE Entertainment Ltd.
Lara Croft and Tomb Raider are trademarks of CDE Entertainment Ltd.