How to Create a HTML Asset

From TrainzOnline
(Difference between revisions)
Jump to: navigation, search
m
(HTML Assets)
 
(2 intermediate revisions by one user not shown)
Line 42: Line 42:
  
 
<table width=1000 bgcolor="lightcyan" cellpadding=2>
 
<table width=1000 bgcolor="lightcyan" cellpadding=2>
 +
<tr valign="top">
 +
<td>
 +
<table width=530>
 
<tr valign="top">
 
<tr valign="top">
 
<td colspan=2><span style="font-weight: 700; font-size: 17px;">In Summary:</span>
 
<td colspan=2><span style="font-weight: 700; font-size: 17px;">In Summary:</span>
Line 70: Line 73:
 
</table>
 
</table>
 
</td>
 
</td>
 +
</tr>
 +
<tr valign="top" align="right">
 +
<td>'''Image Right:''' A HTML asset containing text, graphics and HTML code</td>
 +
</tr>
 +
</table>
 +
</td>
 +
<td width=470>[[image:SessionInfoPalette_S20.png|link=]]</td>
 
</tr>
 
</tr>
 
</table>
 
</table>
Line 117: Line 127:
 
<tr valign="top">
 
<tr valign="top">
 
<td width=729><span id="stepCreate"></span>
 
<td width=729><span id="stepCreate"></span>
 +
 
='''How to Create a New HTML Asset'''=
 
='''How to Create a New HTML Asset'''=
 
</td>
 
</td>
Line 561: Line 572:
 
<tr valign="top">
 
<tr valign="top">
 
<td>[[image:DotPoint.JPG|10px|link=]]</td>
 
<td>[[image:DotPoint.JPG|10px|link=]]</td>
<td>the use of the '''{}''' braces is to group tags into common "containers". These containers must not be broken up and the number of '''{''' characters must match the number of '''}''' characters</td>
+
<td>the use of the '''{&#160;}''' braces is to group tags into common "containers". These containers must not be broken up and the number of '''{''' characters must match the number of '''}''' characters</td>
 
</tr>
 
</tr>
 
<tr valign="top">
 
<tr valign="top">
Line 568: Line 579:
 
</tr>
 
</tr>
 
</table>
 
</table>
 +
 +
<table width=1000>
 +
<tr valign="top">
 +
<td>
  
 
  '''kuid'''                                    <span style="background-color: red; color: white; font-weight: 700;">&lt;kuid: this is an auto-generated number &gt;</span>
 
  '''kuid'''                                    <span style="background-color: red; color: white; font-weight: 700;">&lt;kuid: this is an auto-generated number &gt;</span>
Line 584: Line 599:
 
   }
 
   }
 
  }
 
  }
 +
</td>
 +
</tr>
 +
</table>
  
 
<table width=1000 cellpadding=2 bgcolor=#eeeeee>
 
<table width=1000 cellpadding=2 bgcolor=#eeeeee>
Line 758: Line 776:
 
<tr valign="top">
 
<tr valign="top">
 
<td width=629><span id="stepGraphic"></span>
 
<td width=629><span id="stepGraphic"></span>
 +
 
='''Graphic Files'''=
 
='''Graphic Files'''=
 
</td>
 
</td>
Line 956: Line 975:
 
</table>
 
</table>
 
<br>
 
<br>
<table>
+
<table width=1000>
 
<tr valign="top">
 
<tr valign="top">
 
<td>'''JPG''' (or '''JPEG''') is still the most widely used image format for web pages and all Trainz versions support this format. The main problem with JPG is that older formats use a "lossy" compression method - image data is thrown away or deleted every time the image is saved. If you are constantly loading, editing and then saving the same JPG image, then the quality of the image will noticeably decline over time.<br>
 
<td>'''JPG''' (or '''JPEG''') is still the most widely used image format for web pages and all Trainz versions support this format. The main problem with JPG is that older formats use a "lossy" compression method - image data is thrown away or deleted every time the image is saved. If you are constantly loading, editing and then saving the same JPG image, then the quality of the image will noticeably decline over time.<br>
 
+
<br>
 
Newer versions of the '''JPG''' format have been developed that are lossless, or nearly lossless, but these often have disadvantages such as poor efficiency or comparability problems across different graphic software platforms.</td>
 
Newer versions of the '''JPG''' format have been developed that are lossless, or nearly lossless, but these often have disadvantages such as poor efficiency or comparability problems across different graphic software platforms.</td>
 
</tr>
 
</tr>
Line 1,001: Line 1,020:
 
</table>
 
</table>
  
<table cellpadding=5>
+
<table width=1000 cellpadding=5>
 
<tr>
 
<tr>
 
<td>
 
<td>
Line 1,055: Line 1,074:
 
<tr valign="top">
 
<tr valign="top">
 
<td>Transparencies in images are essentially colours or ''layers'' that are rendered invisible when the image is displayed. This makes parts of the image transparent so the colours or patterns behind the image, such as the background page, can be seen.<br>
 
<td>Transparencies in images are essentially colours or ''layers'' that are rendered invisible when the image is displayed. This makes parts of the image transparent so the colours or patterns behind the image, such as the background page, can be seen.<br>
 
+
<br>
 
Shown below is the '''Message Popup''' browser window from a '''Trainz Session'''. The two images it contains are from the same original image but displayed in two different image formats.</td>
 
Shown below is the '''Message Popup''' browser window from a '''Trainz Session'''. The two images it contains are from the same original image but displayed in two different image formats.</td>
 
</tr>
 
</tr>
Line 1,146: Line 1,165:
 
</tr>
 
</tr>
 
</table>
 
</table>
<br>
+
 
 
<table width=1000 bgcolor="lightcyan" cellpadding=2>
 
<table width=1000 bgcolor="lightcyan" cellpadding=2>
 
<tr valign="top">
 
<tr valign="top">
Line 1,472: Line 1,491:
 
</table> <!-- END Nav Buttons Table -->
 
</table> <!-- END Nav Buttons Table -->
  
Audio files can be added into HTML assets to play sounds when the HTML page is displayed on the screen. Examples would include conductor whistles and "all aboard" calls, etc. The sound is stored as a separate file in the HTML asset.
+
<table width=1000>
 +
<tr valign="top">
 +
<td>
 +
Audio files can be added into HTML assets to play sounds when the HTML page is displayed on the screen. Examples would include conductor whistles and "all aboard" calls, etc. The sound is stored as a separate file in the HTML asset.</td>
 +
</tr>
 +
</table>
  
 
==Audio Specifications==
 
==Audio Specifications==

Latest revision as of 15:17, 2 January 2024

          Next Down Bottom
The information in this Wiki Page applies to TANE, TRS19, Trainz Plus and TRS22. The large "introduction windows" and smaller popup "message windows" that can be added to a Session are (mostly) HTML assets. This Wiki Page describes how HTML assets are created, what they contain and how they can be added to a Session.


Contents

 Workflow Diagram 
Workflow diagram

[edit] HTML Assets

    Top   Next Down Bottom
In Summary:
BlueDot10x10.png HTML assets contain the text information, graphic images and sounds (those that are not built into locos and other assets) that can be displayed and played during a session in
BlueDot10x10.png a browser window at the start of a Session (a session introduction page) AND
BlueDot10x10.png browser windows during the running of a session
BlueDot10x10.png A single HTML asset can provide all the text, graphic and sound data for an entire session and for multiple sessions.
BlueDot10x10.png At the most basic level you do not have to create a HTML asset for your session. You can use existing resources (graphics and sounds) and add your own text to simple on-screen Popup Messages using Session Rules. See the section PageLink.PNG Adding a Message Popup to a Session below.
Image Right: A HTML asset containing text, graphics and HTML code
SessionInfoPalette S20.png


NotePad.PNG Notes:

HTML assets in Trainz consist of:-
 
DotPoint.JPG a config.txt file which is compulsory
DotPoint.JPG one or more graphic files of type JPG, TGA, PNG or BMP. One of these must be the asset thumbnail
and as options only (not compulsory):-
DotPoint.JPG one or more HTML formatted text files of type HTM or HTML
DotPoint.JPG one or more sound files of type WAV

[edit] How to Create a New HTML Asset

    Top Next Up Next Down Bottom

If you decide that you will need to create a HTML asset for your Session or Sessions, then these are the basic steps you will need to perform.

Steps: DotPoint1.JPG Create the Asset:
NewAsset.PNG

NewAssetCreated.PNG
Steps: From the Trainz Launcher:-
 1  select  Manage Content 
 2  in Content Manager open the  Developer  menu
 3  select  New Content 
DotPoint.JPG This will create a new asset and open it for editing.
DotPoint.JPG A message window will appear that will (hopefully) report on the successful creation of a new asset
 4  Close the message window


  DotPoint2.JPG Find the New Asset:
NewAssetSelectOpen.PNG
 5  Set the Content Manager Search Filter to  Open for Editing 
This will display only those assets that have been opened for editing (hopefully only your new and as yet unnamed asset will be shown)


  DotPoint3.JPG Open the Asset in Windows File Explorer:
NewAssetShowExplorer.PNG
 6  Right Click on the entry New Asset
 7  Select Open...
 8  Select Show in Explorer


  DotPoint4.JPG Open Config.txt File in Notepad:
NewAssetOpenExplorer.PNG
There will only be a single item in the asset, its config.txt file
 9  Double Left Click on the file to open it in Notepad


  DotPoint5.JPG Edit the Config.txt File:
NewAssetOpenNotepad.PNG
You will need to edit the contents of this file.
 10  The next section, PageLink.PNG The Config.txt File, identifies the changes you will need to make. The new name you give to the asset will not take effect until after it has been Submitted
 11  After editing, save the changes and exit Notepad


 
Warning:
Stop.PNG Unless you know exactly what you are doing* DO NOT ALTER THE KUID NUMBER  that has been added to the file

* but even if you do, think twice before you change it !


  DotPoint6.JPG Add Any Extras:
 12  You will need to add at least one file to the asset folder, a thumbnail image
 13  Other files, such as additional images, sound (wav) files and HTML files may need to be added depending on the type of HTML asset that is being created
These files are covered in the sections PageLink.PNG Graphic Files, PageLink.PNG Audio Files and PageLink.PNG HTML Files below
These files do not have to be added immediately but must be present before the new asset can be used. You can reopen the asset for editing later to add the files before it is Submitted.

THIS IS AN EXAMPLE ONLY
HTMLfileview.JPG The minimum number of files needed in a HTML asset is 2 - the config.txt file and a thumbnail image (a .jpg file).
HTMLFolderView4.JPG


  DotPoint7.JPG Finish Up:
NewAssetSubmit.PNG
 14  Close the Asset window
 15  Commit the asset in Content Manager
DotPoint.JPG Right Click on the asset
DotPoint.JPG Select  Submit Edits  Hopefully there will be no errors.


NotePad.PNG Because you still have the Search Filter Open for Editing in operation, the now closed and Submitted asset will vanish from the Content Manager display. To check that your asset has been correctly created and renamed, set the Search Filter to Today.


Bug.png Some of the most common errors that can occur when creating and Submitting a new asset are:-
DotPoint.JPG no thumbnail image in the asset
DotPoint.JPG typing errors in the config.txt file
DotPoint.JPG poorly formatted tags in the config.txt file
DotPoint.JPG incorrect file types added to the asset folder
DotPoint.JPG files missing from the asset folder
DotPoint.JPG an incorrect kuid value (despite the warning you changed it in Step  5 )

[edit] The Config.txt File

    Top Next Up Next Down Bottom
BlueDot10x10.png All assets must have a config.txt file



Gears.PNG Settings:
The HTML asset must have a config.txt text file that must include the following tags:-
BlackDot10x10.png kind set to "html-asset"
BlackDot10x10.png username set to the asset title or name
BlackDot10x10.png kuid a unique ID code
BlackDot10x10.png thumbnails set to a 240 by 180 pixel JPG image
While not mandatory, the following tag is useful:-
BlackDot10x10.png category-class set to "YH"


This file should follow the same (or a similar) format as the example below.
DotPoint.JPG entries in  red  must not be changed
DotPoint.JPG the indenting of the lines and the spacing ("tabbing") between the "tags" on the left and their contents on the right are purely to make it easier for humans to read
DotPoint.JPG the use of the { } braces is to group tags into common "containers". These containers must not be broken up and the number of { characters must match the number of } characters
DotPoint.JPG the order of the "tags" is not important
kuid                                    <kuid: this is an auto-generated number >
username                                "HTML assets for Steamville Session 1"
trainz-build                            4.5
kind                                    "html-asset"
description                             "All the images, web pages and sounds for the Steamville 1st Session"
category-class                          "YH"
thumbnails
{
  Default
  {
    image                               "SteamV1HTML.jpg"
    width                               240
    height                              180
  }
}

Gears.PNG Settings:

For the above example:

BlackDot10x10.png The  kuid  is unique to every asset so it is  not a good idea to choose your own . This will be automatically generated by the Content Manager program when a new asset is created
BlackDot10x10.png The  username  is your name for the asset and the name that other users will see. It is also the name that will appear in the Driver Setup Rule when the driver is being selected. It is a good idea to make it short and meaningful
BlackDot10x10.png The  trainz-build  identifies the minimum Trainz version needed for this asset. A list of asset trainz-build numbers and their corresponding Trainz versions can be found at WikiLink.PNG "Trainz-build"_number
BlackDot10x10.png The  kind  identifies the type of asset and the types of files that Trainz will expect to find in the asset. It also tells Trainz how to render and error check the asset. For HTML assets, the category class is  html-asset . A list of asset kinds can be found at WikiLink.PNG KIND Hierarchy
BlackDot10x10.png The  description  provides more details for users than the username
BlackDot10x10.png The  category-class  identifies the intent of the asset and is important in classifying it for filtering and searching. For driver character assets, the category class is  YH . A list of category classes can be found at WikiLink.PNG Category-class
BlackDot10x10.png The  thumbnails  container holds the preview images of the asset shown by the Content Manager program, the Web version of the DLS and, for some assets, the Surveyor main menu image(s). Information on thumbnails can be found at WikiLink.PNG Thumbnails
DotPointBlack.JPG The  Default  is the container ID or placeholder for the thumbnail (some types of assets can have several thumbnails) and its exact label (or number - eg. "Default", "00", "01", etc) is not important but each thumbnail if there are more than one must have a different label. Default and 0 are commonly used placeholder labels for the 240 x 180 thumbnail image
BlackCircle10x10.png The image is the name of the thumbnail image. It does not have to be called thumbnail.jpg but it must be a JPG format image
BlackCircle10x10.png The width of the image in pixels must be  240 
BlackCircle10x10.png The height of the image in pixels must be  180 

PencilTips.PNG Language Options:

All Trainz assets have a language facility built into their config.txt files that allows other language translations to be added for certain tags, such as the username and description tags. A full description of the process can be found on the Trainz Wiki at WikiLink.PNG Localize an Asset and a list of all the supported languages with their two character codes at WikiLink.PNG Localization (country) Codes.
At the very basic level any creator can easily provide other language translations for the username and description tags in the assets they create. Examples are shown below.
username                    "HTML assets for Steam Ride session"
username-c2                 "Steam会话的HTML资产"
username-de                 "HTML-Assets für die Steam-Ride-Sitzung"
username-es                 "Recursos HTML para la sesión de Steam Ride"
username-fr                 "Éléments HTML pour la session Steam Ride"
username-nl                 "HTML-middelen voor stoomrit sessie"
username-ru                 "HTML-ресурсы для сессии Steam Ride"
Translations to Chinese (simplified), Spanish, French, German, Dutch and Russian, perfect or not, were provided by Google Translate.

[edit] String Table Option

If you are going to use the String Table method of adding messages to the browser windows, then the config.txt file will need a string-table container. For example:-

string-table
   {
      warning_message_stop                          "You have passed a stop signal. Apply your brakes immediately"
      warning_message_speed                         "You are speeding. Slow down"
   }
The "tags", warning_message_stop and warning_message_speed in the example shown above, are called "String Table Tokens" and are used to identify which message is to be displayed.
For more details of string-tables, see the section PageLink.PNG Option 3: A String Table below.


PencilTips.PNG Language Options:

The string-table container also has language options. Each language is a separate container as shown in the example below. A full description of the process can be found on the Trainz Wiki at WikiLink.PNG Localize an Asset and a list of all the supported languages with their two character codes at WikiLink.PNG Localization (country) Codes.
string-table
   {
      warning_message_stop                          "You have passed a stop signal. Apply your brakes immediately"
      warning_message_speed                         "You are speeding. Slow down"
   }
string-table-fr
   {
      warning_message_stop                          "Vous avez passé un signal d'arrêt. Appliquez vos freins immédiatement"
      warning_message_speed                         "Vous accélérez. Ralentir"
   }
string-table-nl
   {
      warning_message_stop                          "Je hebt een stop-signaal geslaagd. Breng je remmen onmiddellijk aan"
      warning_message_speed                         "Je versnelt. Vertragen"
   }
  The HTML source identified in the Message Popup Rule then refers to the string-table entry using its token (or "tag"), as shown in the examples above, and the <font locale> generic tag, as shown in the example below.

<font locale=generic>warning_message_stop</font>

If the users language has been set to French then the message "Vous avez passé un signal d'arrêt. Appliquez vos freins immédiatement" will appear in their browser window.
If the users language has been set to Dutch then the message "Je hebt een stop-signaal geslaagd. Breng je remmen onmiddellijk aan" will appear in their browser window.
If the users language has been set to English, or to a language that is not included in the string-table, then the message "You have passed a stop signal. Apply your brakes immediately" will appear in their browser window.

[edit] Editing the config.txt File

The config.txt file is a standard text file (file extension .txt) and can be created and edited with any text editor. MS Notepad supplied with Windows and TextEdit supplied with MacOS will both be suitable. Alternative freeware text editors, such as Notepad++ (Windows only) and Atom (MacOS and Windows), may provide you with some additional time saving and accuracy tools such as auto-complete and spell checking.


[edit] Graphic Files

    Top Next Up Next Down Bottom

[edit] Supported Image Formats

There are some differences in the graphic files supported between Trainz HTML and Web HTML.

Graphic Format Trainz Web Main Points Recommendation
GIF not supported supported Do not use
JPG supported supported
BlueDot10x10.png lossy compression
BlueDot10x10.png no transparency
Needed for the main thumbnail image but avoid unless you can take the steps recommended for using JPG images below
BMP supported supported
BlueDot10x10.png lossless but no compression
BlueDot10x10.png limited transparency
Avoid
PNG supported supported
BlueDot10x10.png lossless compression
BlueDot10x10.png transparency
Use if compatibility with older Trainz versions is NOT needed
TGA supported not supported
BlueDot10x10.png lossless with optional compression
BlueDot10x10.png optional transparency
Use if compatibility with older Trainz versions is needed
Compression is supported in Trainz but not recommended
.texture supported not supported
BlueDot10x10.png a text file containing the names of image files
BlueDot10x10.png controls how the images are displayed
BlueDot10x10.png Recommended method for all images except thumbnails
 


The above are not the only image file formats supported by Trainz but those unlisted formats are not common and are not usually recommended.
For Trainz HTML pages displayed on the screen during gameplay, the most commonly used image formats seem to be JPG and TGA. If you are going to test your pages on a standard web browser before testing them in Trainz (a technique that will save both time and frustration) be aware that TGA format files will not be visible in any web browser.


[edit] Thumbnails

BlueDot10x10.png A thumbnail image MUST be present in the asset. You can create a HTML asset without any other images but there must be a thumbnail image.


NotePad.PNG Notes:

The thumbnail image:-

DotPoint.JPG must be in JPG format
DotPoint.JPG must be 240 pixels wide by 180 pixels tall
DotPoint.JPG does not have to be named thumbnail.jpg as long as the name used is in the Thumbnails container in the config.txt file


[edit] TGA File Compression

BlueDot10x10.png While Trainz supports compressed TGA format files, the current advice is NOT to use compression when saving images in this format.


ExportTGA.JPG When exporting an image as a TGA file uncheck the image compression setting (example shown left for GIMP 2.10)

[edit] JPG Files

BlueDot10x10.png Most JPG image formats are lossy which means that data is deleted everytime the image is saved


JPG (or JPEG) is still the most widely used image format for web pages and all Trainz versions support this format. The main problem with JPG is that older formats use a "lossy" compression method - image data is thrown away or deleted every time the image is saved. If you are constantly loading, editing and then saving the same JPG image, then the quality of the image will noticeably decline over time.


Newer versions of the JPG format have been developed that are lossless, or nearly lossless, but these often have disadvantages such as poor efficiency or comparability problems across different graphic software platforms.


PencilTips.PNG The best way to use JPGs is to:-
DotPoint.JPG keep the original image in a lossless format such as PNG or TGA
DotPoint.JPG when editing the image, always save the edited image in a lossless format
DotPoint.JPG only when all the editing has been completed, export the image as a JPG


[edit] Texture Files

BlueDot10x10.png Texture files are text files that act as a container for an image and control how that image is to be displayed in Trainz
primary=ashpit.jpg
alpha=ashpit.bmp
tile=st
Texture files (actually .texture.txt files) are standard text files that contain the name or names of 1 or 2 image files and instructions on how they are to be displayed in Trainz, as shown in the example on the left. This is the recommended format for all image files in Trainz except thumbnails.
NotePad.PNG Notes:

DotPoint.JPG The texture format does not replace the other supported image formats (BMP, JPG, PNG or TGA) but simply provides additional options for controlling how those image files are used, particularly their alpha channels.
DotPoint.JPG In earlier versions of Trainz the texture files were actually graphic files. They are still used as graphic files in built-in and base assets to speed-up asset loading. In these assets the .texture images are compressed in a format that only the Trainz Rendering Engine uses, not Content Manager. This is the reason why built-in and base assets cannot be transferred from one version of Trainz to another by using .cdp files.


LinkWiki.PNG A detailed description of the .texture file format can be found on the Trainz Wiki Page at:-


[edit] Transparency (Alpha Channel)

BlueDot10x10.png Transparencies are also called Alpha Channels.
Transparencies in images are essentially colours or layers that are rendered invisible when the image is displayed. This makes parts of the image transparent so the colours or patterns behind the image, such as the background page, can be seen.


Shown below is the Message Popup browser window from a Trainz Session. The two images it contains are from the same original image but displayed in two different image formats.


TransparencyDemo.JPG
DotPoint.JPG The STOP sign on the left has been exported as a JPG which has no transparency (or alpha channel) so the image background is shown as a colour, in this case white.
DotPoint.JPG The STOP sign on the right has been exported as a TGA with its background layer saved as an Alpha Channel which is rendered transparent so the background colour of the browser window shows through.
Image file formats with transparencies or alpha channels that are supported by Trainz are BMP, PNG and TGA.


[edit] Graphics Editing Software

There is a wide variety of graphical software applications available that would be suitable for creating Trainz ready images, both commercial and freeware.


NotePad.PNG Notes:
The minimum requirements for a suitable graphics package for use in creating Trainz HTML assets would be:-
DotPoint.JPG load and save (or export) images in JPG and either TGA or PNG formats
DotPoint.JPG support for an alpha channel
"Nice to have" features would include:-
DotPoint.JPG support for layers
DotPoint.JPG text editing


[edit] HTML Files

    Top Next Up Next Down Bottom


HTML (Hyper Text Markup Language) is the "language" that creates web pages. Creating HTML files (or web pages) is not a simple process. If you have never worked with HTML before then there will be a learning curve. Fortunately it is possible to start at a very basic level and progress as you learn.
BlueDot10x10.png If adding HTML files looks too difficult then Trainz does provide an option that allows you to place simple message windows onto the screen without having to create any HTML files or images. See the section PageLink.PNG Adding a Message Popup to a Session below.

You can have multiple web pages in a session. Each page will be a separate .html or .htm file in the HTML asset.

[edit] Some Things You Should Know About HTML

The image below shows a simple HTML page typed into a basic text editor.

HTMLSampleMSNotepadA.JPG
A HTML page is constructed by "tags", words and codes enclosed by "<" and ">" symbols. These tags control the layout of the page and how the text and images are displayed.
If the above page is loaded into a normal web browser, this is what you would see.


HTMLSampleEdge.JPG

The problems: What happened to the:-

DotPoint.JPG blank line between the heading and the first line of text?
DotPoint.JPG Return Key codes (or end-of-line characters) at the ends of each line?
DotPoint.JPG extra spaces placed between the sentences in the first line of text?


The causes: When displaying a page, HTML ignores:-

BlueDot10x10.png blank lines,
BlueDot10x10.png the end-of-line character (and other special characters), and
BlueDot10x10.png extra spaces between characters


Stop.PNG HTML is extremely unforgiving when it comes to errors and "typos" in the tags. Simple syntax and spelling errors can lead to hours of frustration while you attempt to find the error. If you don't have the patience or any "bug hunting skills" then perhaps HTML coding is not for you.


...and that is the easy part.

[edit] Some Things You Should Know About Trainz HTML

If the page shown above is loaded into a Trainz MiniBrowser, this is what you would see.

HTMLSampleTANE.JPG


NotePad.PNG Notes:

In the Trainz Minibrowser:-

DotPoint.JPG All browser windows have the same "greenish" gradient background colour (darker on the outer edges and lighter in the middle) and this cannot be changed
DotPoint.JPG The default text colour is white (it used to be black which was impossible to read on the background)
DotPoint.JPG Extra spaces between characters are NOT ignored
But blank lines and the end-of-line character, amongst others, are still ignored.


BlueDot10x10.png Trainz HTML is NOT the same as standard HTML. There are similarities and there are a lot of differences. In general, Trainz HTML is a much smaller and simplier subset of standard HTML. A detailed reference on the version of HTML used in the Trainz Minibrowser can be found at WikiLink.PNG MiniBrowser


If you are experienced with standard HTML you will have to adjust your thinking to use Trainz HTML.

[edit] Adding External Links to a HTML Asset

BlueDot10x10.png The MiniBrowser in Trainz allows you to add links to external Web pages that will open in your default Web browser.  BUT  the links are limited to pages on the Trainz Wiki or posts and threads in the Trainz Forums only. You cannot add a link to your personal social media page or favourite railway fan site.
The link is restricted to a page on the Trainz Wiki or posts and threads in the Trainz Forums - the forums.auran.com and online.ts2009.com web addresses only. You can set up a page, or a series of linked pages, on the Wiki describing your route or session. Help on creating Trainz Wiki pages can be found at WikiLink.PNG How To Create a Trainz Wiki Page.

Some suggestions for Wiki pages:-

BlueDot10x10.png tasks to be completed in each session
BlueDot10x10.png a driving tutorial of your route
BlueDot10x10.png loco rosters and train schedules
BlueDot10x10.png list of industries and their commodities
Some actual examples from the Trainz Wiki that are accessed from Popup Message Pages in Sessions include:-
BlueDot10x10.png TRS19_TheInnterKohnNecktionRailroadSessions
BlueDot10x10.png SAR_Peterborough_Base_Session


The Anchor Tag

The Anchor Tag is unquestionably the most powerful tool you can use in a web page. It provides a one-click link to another web page. The link can be a text link (shown as underlined) or it can be a graphic image.

The Anchor Tag begins with ...

<a href="add link address here...">

... and ends with ...

</a>

In between the starting and ending parts of the tag you place the image or text that will become the link as shown in the text example below.

Anchor Tag

This will display the link in the MiniBrowser as Link

Left Click on the link to open the web page in your default web browser program.

The Trainz Wiki has a page giving more information about the MiniBrowser at WikiLink.PNG MiniBrowser. You may be interested in the image tag (<img src="name of image file">) for using images instead of text for the links, and adding tool tips (the tooltip="place tool tip text here") parameter in the Anchor tag as shown in the example below.

Using a graphic link

Images must be included in the HTML asset to be visible in the MiniBrowser.


[edit] HTML Editors

HTML editors allow you to create HTML files with a minimum of fuss. Most provide tools that can automate much of the repetitive typing work and many provide some error checking features.


Stop.PNG Because Trainz does not use standard HTML, avoid dedicated HTML applications and Web design packages.


PencilTips.PNG Particularly avoid:-
DotPoint.JPG HTML editors and applications that use a graphical interface to move objects such as images and blocks of text around the screen
DotPoint.JPG applications programs such as word processors and desktop publishers that can create web pages
... they will create HTML code that will be far too complex for Trainz to handle.


HTMLSampleNotepadPlusPlus.JPG
PencilTips.PNG Some suggestions:-
 
DotPoint.JPG Simple text editors, such as MS Notepad supplied with MS Windows or TextEdit on MacOS, will work well but will require you to do a lot of typing and they will not perform any error checking
DotPoint.JPG More advanced text editors are available that are "HTML aware" and will recognise HTML "tags" making it easier to enter the tags and to check for their completeness


Shown on the left is the Notepad++ text editor which recognises HTML coding and provides some tools to assist in entering and correcting HTML code. The software has coloured the text segments that it has identifed as HTML tags or parts of tags.

Suitable freeware HTML editing software would include:-

DotPoint.JPG Notepad++ (Windows only)
DotPoint.JPG Atom (MacOSX and Windows)


[edit] Audio Files

    Top Next Up Next Down Bottom
Audio files can be added into HTML assets to play sounds when the HTML page is displayed on the screen. Examples would include conductor whistles and "all aboard" calls, etc. The sound is stored as a separate file in the HTML asset.

[edit] Audio Specifications


Gears.PNG Settings:

Audio files must be recorded using, or converted to:-

BlackDot10x10.png 8 or 16 bit sample sizes
BlackDot10x10.png 22kHz (22,050Hz) or 44kHz (44,100Hz) sample rate
BlackDot10x10.png Mono, stereo or surround format ("surround" is not fully tested)
...and saved using
BlackDot10x10.png Uncompressed WAV format PCM (Pulse Coded Modulation)


Warning:
Stop.PNG Take care when deciding which settings (bit rate, sample rate, number of channels) are to be used for a sound.

High settings will produce significantly larger file sizes and often for no noticeable improvements in sound quality


PencilTips.PNG For a short simple sound, such as a telegraph bell or a conductors whistle, lower settings (e.g. 8 bit, 22kHz, mono) would probably be more suitable


[edit] Audio Software

The main requirement for audio editing software is that it must be able to save sound files in the WAV file format and meet the specifications listed above.

A suitable freeware audio editing software would be:-

DotPoint.JPG Audacity for both MacOSX and Windows


3BellsWave.JPG

Audacity audio file recording and editing software (shown above).

[edit] Adding a Message Popup to a Session

    Top Next Up   Bottom

The built-in Message Popup rule is used to create the message windows that appear on the screen during the running of a session.

BlueDot10x10.png The WikiLink.PNG Message Popup Rule has to be added to the session rule list in the WikiLink.PNG Session Editor in Surveyor which you access from the Surveyor Main Menu in TANE or from the Surveyor Edit Menu in TRS19 and later versions. Each message will need its own Message Popup rule in the session rule list.


The Message Popup rule provides three different methods of creating the messages, and adding graphics and sound if needed. These methods are:-
DotPoint1Blue.png from a simple text message typed into the rule with an optional graphic. If needed a sound can be added from an existing HTML asset.
DotPoint2Blue.png from a HTML page stored as a file in a HTML asset. This HTML page can have many graphic images, each stored in the HTML asset, and many lines of text. If needed a sound can be added from the same or another HTML asset.
DotPoint3Blue.png from a "string-table" in the config.txt file of a HTML asset. If needed a sound can be added from the same or another HTML asset.


[edit] Option 1: A Simple Custom Text Message

The simplest and easiest method of adding message windows to a Trainz Session is to use the Message Popup rule with the Custom Text option for all your Session messages.

NotePad.PNG Notes:

Tick This option has a number of advantages:-

DotPoint.JPG No knowledge of HTML is required
DotPoint.JPG No knowledge of HTML is required
DotPoint.JPG You can use a built in graphic (with more available on the DLS)
DotPoint.JPG You can use sounds from existing HTML assets
DotPoint.JPG There is no need to create a HTML asset

Cross There is a disadvantage. For each message window:-
DotPoint.JPG You can only use one graphic which has to be selected from a list of special "texture" graphics


BlueDot10x10.png If all your Session messages use this option then there is no need to create a HTML asset

An example:-

MessagePopup2.JPG

Gears.PNG Settings:

PortalOptionButtonFilled.PNG Custom text

In This Example:-
CheckBoxOff.PNG Pause game while message is displayed - game play will not be paused
CheckBox.PNG Close previous message popup windows - this is usually a good idea unless you want multiple message windows open
BlackDot10x10.png Message location: Top left of the screen has been chosen as the location for the message window. Other positions are Top right, Bottom left and Bottom right
BlackDot10x10.png Custom Message - the text entered into the text box will be displayed
BlackDot10x10.png Icon - the selected optional icon will be displayed
BlackDot10x10.png HTML Wave: General Purpose Session HTML HTML asset contains the optional sound file to be played
BlackDot10x10.png Wav Name: all-aboard.wav is the optional sound file to be played
CheckBox.PNG Autoplay Wav - the sound will be played when the page is displayed

PencilTips.PNG To find additional graphic icons that can be added to the Message Popup window, use Content Manager and set a Custom Filter to search for:-
DotPoint.JPG Category select Texture-Not Environmental
DotPoint.JPG Name type the word icon
DotPoint.JPG On Download Station select True

Not all those shown will be suitable. Double Left Click a possible icon to display its details before downloading.


LinkWiki.PNG

To find information on how to create your own Message Popup Icons, see the Trainz Wiki Page:-

BlueDot10x10.png How to Create a Message Popup Icon

[edit] Option 2: A HTML Page

To use a HTML file use the Message Popup rule with the A pre-defined HTML page option selected.

NotePad.PNG Notes:

Tick This option has a number of advantages:-

DotPoint.JPG Greater flexibility in the use of graphics and other web features
DotPoint.JPG Fewer restrictions on the number and type of graphics

Cross There are also some disadvantages:-
DotPoint.JPG Greater complexity leading to (potentually) more problems
DotPoint.JPG You will need to create or find individual graphic images and/or sounds

[edit] Use an Existing HTML Asset

BlueDot10x10.png You can use HTML files and graphics from HTML assets that are already installed on your system.
BlueDot10x10.png There is a General Purpose Session HTML asset that is built into Trainz that contains a series of "basic" HTML message pages and audio files that can be used in a session. An example is shown below.


PencilTips.PNG

Using an existing HTML asset has the advantage of not needing to create any new HTML files, sounds and images.

But you will need to explore the existing assets, by opening them in Content Manager, to see what is available and if they are suitable for your purposes.


MessagePopup1.JPG

Gears.PNG Settings:

PortalOptionButtonFilled.PNG A pre-defined HTML page (advanced)

In This Example:
CheckBox.PNG Pause game while message is displayed - this will halt the game play until the window is closed. This may be needed if you have a long introductory HTML information page, otherwise leave unchecked
CheckBox.PNG Close previous message popup windows - this is usually a good idea unless you want multiple message windows open
BlackDot10x10.png Message location: Top left of the screen has been chosen as the location for the message window. Other positions are Top right, Bottom left and Bottom right
BlackDot10x10.png HTML Asset: General Purpose Session HTML one of the HTML assets installed with Trainz
BlackDot10x10.png HTML Page: right_away.html which is a HTML file inside the General Purpose Session HTML asset
BlackDot10x10.png HTML Wave: General Purpose Session HTML HTML asset contains the optional sound file to be played
BlackDot10x10.png Wav Name: all-aboard.wav is the optional sound file to be played
CheckBox.PNG Autoplay Wav - the sound will be played when the page is displayed

[edit] Create Your own HTML Asset

Creating your own HTML assets allows you to add session information and instructions that are perfectly tailored to each session. This does require creative effort and time, will need more testing and will probably generate a lot of frustration. But the end result can be worth it.


BlueDot10x10.png If you have created your own HTML asset it must be Submitted in Content Manager before it can be used in a Message Popup


All the files (HTML, graphics, audio and the config.txt) are saved in the asset folder as shown in the example below. This example includes a single .html file which references all the .jpg and .tga graphic files. You can add as many HTML files as you need.


HTMLfileview.JPG THIS IS AN EXAMPLE ONLY

The minimum number of files needed in a HTML asset is 2 - the config.txt file and a thumbnail image (a .jpg file).

HTMLFolderView4.JPG
BlueDot10x10.png A useful time saving technique is to view the HTML files in a normal web browser before Submitting the asset. However, if TGA image files have been used then they will not appear in the browser.


PencilTips.PNG You can edit HTML files so that the pages will be displayed in a normal web browser with white text and a background that approximates the one used in the Trainz MiniBrowser. This makes it easier to test the pages without having to constantly open, edit, update and then commit the assets in Content Manager.

To do this, edit the <body> tag at the top of each HTML page to read ...

BodyHTMLTag.png
This will have no effect on the appearance of the pages in Trainz.


[edit] Option 3: A String Table

To use a string-table for the message text, use the "A predefined string-table entry from a HTML asset" option.

BlueDot10x10.png The text to be displayed in the message must be added to the config.txt file of the HTML asset. A series of text messages for different message windows can be placed in this file.


PencilTips.PNG The disadvantage of this option compared to option 1 above is that the config.txt file of the HTML asset has to be edited and the asset Submitted again every time a message is added or changed.


For example, the config.txt file of a HTML asset may have a string-table container as shown below:-
string-table
   {
      html_warning_late                             "You are running behind schedule."
      html_warning_early                            "You are running ahead of schedule."
      html_finished_title                           "Session completed!"
   }

The label html_warning_late is a "string-table token" that identifies the message "You are running behind schedule". The Message Popup rule uses this token to identify the message.

For example:-


MessagePopup4.JPG

Gears.PNG Settings:

PortalOptionButtonFilled.PNG A pre-defined string-table entry from a HTML asset (advanced)

In This Example:
CheckBoxOff.PNG Pause game while message is displayed - game play will not be paused
CheckBox.PNG Close previous message popup windows - this is usually a good idea unless you want multiple message windows open
BlackDot10x10.png Message location: Top left of the screen has been chosen as the location for the message window. Other positions are Top right, Bottom left and Bottom right
BlackDot10x10.png HTML Asset: General Purpose Session HTML one of the HTML assets installed with Trainz
BlackDot10x10.png String Table Token: html_warning_late the string table token in the config.txt file of the General Purpose Session HTML asset contains the message to be displayed
BlackDot10x10.png HTML Wave: General Purpose Session HTML HTML asset contains the optional sound file to be played
BlackDot10x10.png Wav Name: all-aboard.wav is the optional sound file to be played
CheckBox.PNG Autoplay Wav - the sound will be played when the page is displayed

The string-table also has foreign language options as shown in the section PageLink.PNG The Config.txt File: String Table Option above.

[edit] A String Table With HTML

You can include some simple HTML codes in the text message. If the string-table token and message shown below is included in the config.txt file...
warning_message_stop                "You have passed a stop signal.<br><br><font color=#ffff00><b>Apply your brakes immediately</b></font>"
...and if this token and its HTML asset is used in the Message Popup rule, then the following message will appear on the screen.


MessagePopup5a.JPG


[edit] Alternatives to the Message Popup Rule

RulesWiki.PNG There are other HTML message window rules that are alternatives to the Message Popup rule. A few possibilities are:-
      Top Next Up    


[edit] Trainz Wiki

TrainzWiki.png

More Tutorials and Guides to Using Trainz


This page was created by Trainz user pware in May 2018 and was last updated as shown below.


Personal tools