<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://g1r-mp.com/wiki/index.php?action=history&amp;feed=atom&amp;title=RmlUi_images</id>
	<title>RmlUi images - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://g1r-mp.com/wiki/index.php?action=history&amp;feed=atom&amp;title=RmlUi_images"/>
	<link rel="alternate" type="text/html" href="https://g1r-mp.com/wiki/index.php?title=RmlUi_images&amp;action=history"/>
	<updated>2026-10-01T12:50:39Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://g1r-mp.com/wiki/index.php?title=RmlUi_images&amp;diff=993&amp;oldid=prev</id>
		<title>QCherry: Release 0.1.4 BUILD133 / Protocol 36 and document authenticated event origin</title>
		<link rel="alternate" type="text/html" href="https://g1r-mp.com/wiki/index.php?title=RmlUi_images&amp;diff=993&amp;oldid=prev"/>
		<updated>2026-09-21T20:41:01Z</updated>

		<summary type="html">&lt;p&gt;Release 0.1.4 BUILD133 / Protocol 36 and document authenticated event origin&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 20:41, 21 September 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{DISPLAYTITLE:RmlUi images}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{DISPLAYTITLE:RmlUi images}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;WebP support is available since update 0.1.4, BUILD125 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;(in development)&lt;/del&gt;.&#039;&#039;&#039; The public release &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;remains &lt;/del&gt;0.1.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;3&lt;/del&gt;. Existing PNG support is retained. WebP adds an image format to the existing GUI APIs; it does not introduce a new Lua function.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;WebP support is available since update 0.1.4, BUILD125.&#039;&#039;&#039; The &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;current &lt;/ins&gt;public release &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;is &lt;/ins&gt;0.1.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;4 / Protocol 36&lt;/ins&gt;. Existing PNG support is retained. WebP adds an image format to the existing GUI APIs; it does not introduce a new Lua function.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Supported images ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Supported images ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>QCherry</name></author>
	</entry>
	<entry>
		<id>https://g1r-mp.com/wiki/index.php?title=RmlUi_images&amp;diff=948&amp;oldid=prev</id>
		<title>QCherry: Document 0.1.4 safe os.time, resource security and PNG/WebP support</title>
		<link rel="alternate" type="text/html" href="https://g1r-mp.com/wiki/index.php?title=RmlUi_images&amp;diff=948&amp;oldid=prev"/>
		<updated>2026-09-20T20:01:05Z</updated>

		<summary type="html">&lt;p&gt;Document 0.1.4 safe os.time, resource security and PNG/WebP support&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{DISPLAYTITLE:RmlUi images}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;WebP support is available since update 0.1.4, BUILD125 (in development).&amp;#039;&amp;#039;&amp;#039; The public release remains 0.1.3. Existing PNG support is retained. WebP adds an image format to the existing GUI APIs; it does not introduce a new Lua function.&lt;br /&gt;
&lt;br /&gt;
== Supported images ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Format !! Behaviour&lt;br /&gt;
|-&lt;br /&gt;
| PNG || Existing PNG loading, including transparency, remains supported.&lt;br /&gt;
|-&lt;br /&gt;
| WebP (since 0.1.4 BUILD125) || Static lossy and lossless images, with or without alpha transparency. Animated WebP is explicitly rejected; it is not played and is not silently reduced to a first frame.&lt;br /&gt;
|-&lt;br /&gt;
| TGA || Uncompressed true-colour 24-bit and 32-bit images. BUILD126 adds stricter header, dimensions and payload checks to this path.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
WebP uses the bundled, statically linked libwebp 1.6.0 decoder. No Windows WebP codec or additional runtime codec DLL is required. EXIF orientation and ICC colour profiles are not applied to WebP: export GUI images in their final orientation and sRGB colour space.&lt;br /&gt;
&lt;br /&gt;
== Example: PNG and WebP in one document ==&lt;br /&gt;
Declare the document and both images in the resource&amp;#039;s &amp;lt;code&amp;gt;scripts.xml&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;file src=&amp;quot;ui/images.rml&amp;quot; download=&amp;quot;join&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;file src=&amp;quot;ui/example.png&amp;quot; download=&amp;quot;join&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;file src=&amp;quot;ui/example.webp&amp;quot; download=&amp;quot;join&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
These are entries to add inside the existing resource manifest, not a complete manifest. Supply your own image files.&lt;br /&gt;
&lt;br /&gt;
Contents of &amp;lt;code&amp;gt;ui/images.rml&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;rml&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Image formats&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;style&amp;gt;&lt;br /&gt;
        body { width: 380px; height: 220px; background-color: #182028; color: white; }&lt;br /&gt;
        .sample { display: inline-block; width: 170px; padding: 8px; }&lt;br /&gt;
    &amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;sample&amp;quot;&amp;gt;PNG:&amp;lt;br /&amp;gt;&amp;lt;img src=&amp;quot;example.png&amp;quot; width=&amp;quot;128&amp;quot; height=&amp;quot;128&amp;quot; /&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;sample&amp;quot;&amp;gt;WEBP:&amp;lt;br /&amp;gt;&amp;lt;img src=&amp;quot;example.webp&amp;quot; width=&amp;quot;128&amp;quot; height=&amp;quot;128&amp;quot; /&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/rml&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Load it from an existing client script:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local document = guiLoadDocument(&amp;quot;ui/images.rml&amp;quot;)&lt;br /&gt;
if document then&lt;br /&gt;
    guiShow(document)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Image references above are relative to the RML document&amp;#039;s directory. RCSS image decorators use the same texture loader. The existing [[guiLoadDocument]] and [[guiShow]] APIs have not changed.&lt;br /&gt;
&lt;br /&gt;
== Limits and safe asset loading ==&lt;br /&gt;
* Encoded texture file: at most &amp;#039;&amp;#039;&amp;#039;256 MiB&amp;#039;&amp;#039;&amp;#039;. Decoded width and height: at most &amp;#039;&amp;#039;&amp;#039;8192 pixels each&amp;#039;&amp;#039;&amp;#039;. These bounds are not a recommendation to use very large GUI textures or a guarantee of available VRAM.&lt;br /&gt;
* WebP container size, dimensions and bitstream features are checked before allocating the bounded RGBA output. Malformed, truncated, animated and oversized inputs fail to load.&lt;br /&gt;
* Since &amp;#039;&amp;#039;&amp;#039;0.1.4 BUILD126&amp;#039;&amp;#039;&amp;#039;, resource GUI files must be declared in the verified download catalog and belong to the requesting resource. Cross-resource references, undeclared files, script files and arbitrary OS-file reads are rejected. Size/hash checks and resolved-path checks remain enforced.&lt;br /&gt;
* The download extension allowlist does not promise that every allowed extension is decodable by RmlUi. See [[Scripting limits]] for the distinction between transport policy and image/audio support.&lt;br /&gt;
* Update clients to BUILD125 or newer before relying on WebP; older clients do not gain support from a script change. The WebP codec alone does not require a server change. The separate BUILD126 security policy and shared Lua additions require the relevant updated client/server components.&lt;br /&gt;
&lt;br /&gt;
See also [[Update 0.1.4]], [[Scripting limits]], [[guiLoadDocument]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Lua API]]&lt;br /&gt;
[[Category:GUI Functions]]&lt;/div&gt;</summary>
		<author><name>QCherry</name></author>
	</entry>
</feed>