<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to TEMLspecifications</title><link>https://sourceforge.net/p/earthcall-project/wiki/TEMLspecifications/</link><description>Recent changes to TEMLspecifications</description><atom:link href="https://sourceforge.net/p/earthcall-project/wiki/TEMLspecifications/feed" rel="self"/><language>en</language><lastBuildDate>Thu, 02 Apr 2015 16:07:52 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/earthcall-project/wiki/TEMLspecifications/feed" rel="self" type="application/rss+xml"/><item><title>TEMLspecifications modified by Anonymous</title><link>https://sourceforge.net/p/earthcall-project/wiki/TEMLspecifications/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="introduction"&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Planet Ring uses a HTML like markup language to display news, contests, info and statistics about the game in the information board. TEML stands for TOM'S EMBEDDED MARK UP LANGUAGE, one of the game's original programmers. TEML files are standard ANSI text files. &lt;/p&gt;
&lt;h2 id="information-boards"&gt;INFORMATION BOARDS&lt;/h2&gt;
&lt;p&gt;In the information center there are 3 information browsers, each one covering a different aspect of the game, all of them are TEML files requested by the client, the file structure would be the following: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;GREEN&lt;/span&gt; &lt;span class="n"&gt;BROWSER&lt;/span&gt;
&lt;span class="n"&gt;ONLINE&lt;/span&gt; &lt;span class="n"&gt;MANUAL&lt;/span&gt;
&lt;span class="n"&gt;a_home_&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;teml&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Attraction&lt;/span&gt; &lt;span class="n"&gt;Info&lt;/span&gt;

&lt;span class="n"&gt;ORANGE&lt;/span&gt; &lt;span class="n"&gt;BROWSER&lt;/span&gt;
&lt;span class="n"&gt;NOTICE&lt;/span&gt; &lt;span class="n"&gt;BOARD&lt;/span&gt;
&lt;span class="n"&gt;n_home_&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;teml&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Notice&lt;/span&gt; &lt;span class="n"&gt;Board&lt;/span&gt;

&lt;span class="n"&gt;BLUE&lt;/span&gt; &lt;span class="n"&gt;BROWSER&lt;/span&gt;
&lt;span class="n"&gt;HIGH&lt;/span&gt; &lt;span class="n"&gt;SOCRE&lt;/span&gt; &lt;span class="n"&gt;RANKINGS&lt;/span&gt;
&lt;span class="n"&gt;r_home_&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;teml&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Ranking&lt;/span&gt; &lt;span class="n"&gt;Board&lt;/span&gt;

&lt;span class="n"&gt;WORLD&lt;/span&gt; &lt;span class="n"&gt;MAP&lt;/span&gt;
&lt;span class="n"&gt;Opens&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;teml&lt;/span&gt; &lt;span class="n"&gt;file&lt;/span&gt; &lt;span class="n"&gt;with&lt;/span&gt; &lt;span class="n"&gt;only&lt;/span&gt; &lt;span class="n"&gt;an&lt;/span&gt; &lt;span class="n"&gt;IMG&lt;/span&gt; &lt;span class="n"&gt;tag&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id="where-to-store-teml-files"&gt;WHERE TO STORE TEML FILES&lt;/h2&gt;
&lt;p&gt;TEML files and PNG images must be stored inside &lt;strong&gt;system/TEML&lt;/strong&gt; relative folder. &lt;/p&gt;
&lt;h2 id="important-info-about-languages-in-teml"&gt;IMPORTANT INFO ABOUT LANGUAGES IN TEML&lt;/h2&gt;
&lt;p&gt;Right after: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;home_&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;in the teml filename, the client requests for a different teml file depending on the console language! &lt;/p&gt;
&lt;p&gt;Example: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;a_home_s.teml -&amp;gt; when its set to spanish &lt;/li&gt;
&lt;li&gt;a_home_e.teml -&amp;gt; when its set to english &lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="teml-packet-structure"&gt;TEML PACKET STRUCTURE&lt;/h2&gt;
&lt;p&gt;The client connects through TCP port 8001, all data is sent in binary mode. &lt;/p&gt;
&lt;p&gt;The TEML command have three parts: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;The&lt;/span&gt; &lt;span class="n"&gt;header&lt;/span&gt; &lt;span class="s"&gt;"TEML"&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt; &lt;span class="n"&gt;bytes&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;The&lt;/span&gt; &lt;span class="n"&gt;size&lt;/span&gt; &lt;span class="n"&gt;of&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;page&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt; &lt;span class="n"&gt;bytes&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="kt"&gt;unsigned&lt;/span&gt; &lt;span class="kt"&gt;long&lt;/span&gt; &lt;span class="n"&gt;file&lt;/span&gt; &lt;span class="n"&gt;size&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;The&lt;/span&gt; &lt;span class="n"&gt;actual&lt;/span&gt; &lt;span class="n"&gt;page&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;starting&lt;/span&gt; &lt;span class="n"&gt;after&lt;/span&gt; &lt;span class="n"&gt;that&lt;/span&gt; &lt;span class="n"&gt;at&lt;/span&gt; &lt;span class="n"&gt;offset&lt;/span&gt; &lt;span class="mh"&gt;0x08&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;BINARY&lt;/span&gt; &lt;span class="n"&gt;MODE&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id="teml-tags"&gt;TEML TAGS&lt;/h2&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="nt"&gt;&amp;lt;pre&amp;gt;&lt;/span&gt;

* &lt;span class="nt"&gt;&amp;lt;TEML&amp;gt;&amp;lt;/TEML&amp;gt;&lt;/span&gt;
Open and close a TEML page.

* &lt;span class="nt"&gt;&amp;lt;BR&amp;gt;&lt;/span&gt;
Jump line.

* &lt;span class="nt"&gt;&amp;lt;CENTER&amp;gt;&lt;/span&gt;Text&lt;span class="nt"&gt;&amp;lt;/CENTER&amp;gt;&lt;/span&gt;
Text or elements rendered inside will be centered to screen.

* &lt;span class="nt"&gt;&amp;lt;IMG&lt;/span&gt; &lt;span class="err"&gt;FILENAME.PNG&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
When using IMG tag, Client asks to server for this resource. Also, must be send in binary format.

* &lt;span class="nt"&gt;&amp;lt;LINK&lt;/span&gt; &lt;span class="err"&gt;URL.TEML&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Text&lt;span class="nt"&gt;&amp;lt;/LINK&amp;gt;&lt;/span&gt;
Shows a cool link in the TEML page (blue and yellow). When user press A, client ASKS for the TEML page: FRQ#URL.TEML

* &lt;span class="nt"&gt;&amp;lt;COL&lt;/span&gt; &lt;span class="err"&gt;255&lt;/span&gt; &lt;span class="err"&gt;0&lt;/span&gt; &lt;span class="err"&gt;255&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
Sets color for the following text. This tag does not close, so if you want another color just create another COL tag. Format is RGB 888 in decimal, where 0 is the min. value and 255 the max. one.

* &lt;span class="nt"&gt;&amp;lt;FRAME&lt;/span&gt; &lt;span class="err"&gt;50&lt;/span&gt; &lt;span class="err"&gt;50&lt;/span&gt; &lt;span class="err"&gt;200&lt;/span&gt; &lt;span class="err"&gt;200&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Text&lt;span class="nt"&gt;&amp;lt;/FRAME&amp;gt;&lt;/span&gt;
Creates an Absolute position (as a DIV), with X1 Y1 X2 Y2. Min. value is 0 and Max. value 359.

* &lt;span class="nt"&gt;&amp;lt;GROUP&lt;/span&gt; &lt;span class="err"&gt;InternalName&lt;/span&gt; &lt;span class="err"&gt;ExternalName&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Text&lt;span class="nt"&gt;&amp;lt;/GROUP&amp;gt;&lt;/span&gt;
With GROUP we can create POST variables: It creates a SUBMIT link that when the user push on it, it sends a PST command.

- InternalName: Is the name of the Group: all POST elements inside GROUP must use this name.
- ExternalName: Is the name that PST command will give of the form when is sending the POST.

Inside GROUP we can put text and/or NUMITM, but NEVER a POST tag, or the game will freeze!!

* &lt;span class="nt"&gt;&amp;lt;NUMITM&lt;/span&gt; &lt;span class="err"&gt;InternalName&lt;/span&gt; &lt;span class="err"&gt;ExternalName&lt;/span&gt; &lt;span class="err"&gt;minVal&lt;/span&gt; &lt;span class="err"&gt;maxVal&lt;/span&gt; &lt;span class="err"&gt;Value&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
Creates a Number selector (User can choose a Numeric Value from a range).

- InternalName: Must match with the Group InternalName
- ExternalName: Name of the item that will see in the PST command.

Value in the PST is sent in HEX format! (so, we should convert to Decimal).

&lt;span class="nt"&gt;&amp;lt;GROUP&lt;/span&gt; &lt;span class="err"&gt;interno&lt;/span&gt; &lt;span class="err"&gt;formulario&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;NUMITM&lt;/span&gt; &lt;span class="err"&gt;interno&lt;/span&gt; &lt;span class="err"&gt;valor1&lt;/span&gt; &lt;span class="err"&gt;2&lt;/span&gt; &lt;span class="err"&gt;20&lt;/span&gt; &lt;span class="err"&gt;10&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;BR&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;NUMITM&lt;/span&gt; &lt;span class="err"&gt;interno&lt;/span&gt; &lt;span class="err"&gt;valor2&lt;/span&gt; &lt;span class="err"&gt;0&lt;/span&gt; &lt;span class="err"&gt;100&lt;/span&gt; &lt;span class="err"&gt;50&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;BR&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/GROUP&amp;gt;&lt;/span&gt;

* &lt;span class="nt"&gt;&amp;lt;TAB&lt;/span&gt; &lt;span class="err"&gt;Num&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Text
Do a Tabulator to the following text. Num is an X coordinate, from 0 to 359.

* &lt;span class="nt"&gt;&amp;lt;END&amp;gt;&lt;/span&gt;
Alias of &lt;span class="nt"&gt;&amp;lt;/TEML&amp;gt;&lt;/span&gt;. Stops anything coming later.

&lt;span class="nt"&gt;&amp;lt;/pre&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id="image-format"&gt;IMAGE FORMAT&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt; Planet Ring will only load PNG images (not PVR), but supports transparency. &lt;/strong&gt; Max. render size of an image is aprox. 256x256, although you can load a bigger image (300x300). &lt;strong&gt; Image keep in front of text (so, no background can be used, even using FRAMES). &lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Thu, 02 Apr 2015 16:07:52 -0000</pubDate><guid>https://sourceforge.netfa5e0528601681003e023e26bfba9809763df563</guid></item></channel></rss>