Files
sfall/windows-and-images/index.html
T

22 lines
36 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html> <html lang="en-US"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=Edge"> <title>Windows and images - sfall</title> <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"> <link rel="stylesheet" href="/assets/css/just-the-docs-default.css"> <script type="text/javascript" src="/assets/js/vendor/lunr.min.js"></script> <script type="text/javascript" src="/assets/js/just-the-docs.js"></script> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- Begin Jekyll SEO tag v2.3.0 --> <title>Windows and images | sfall</title> <meta property="og:title" content="Windows and images" /> <meta property="og:locale" content="en_US" /> <meta name="description" content="Sfall documentation" /> <meta property="og:description" content="Sfall documentation" /> <link rel="canonical" href="/windows-and-images/" /> <meta property="og:url" content="/windows-and-images/" /> <meta property="og:site_name" content="sfall" /> <script type="application/ld+json"> {"@type":"WebPage","image":null,"url":"/windows-and-images/","publisher":null,"author":null,"headline":"Windows and images","dateModified":null,"datePublished":null,"sameAs":null,"description":"Sfall documentation","mainEntityOfPage":null,"name":null,"@context":"http://schema.org"}</script> <!-- End Jekyll SEO tag --> <link rel="apple-touch-icon" sizes="180x180" href="/assets/favicon/apple-touch-icon.png"> <link rel="icon" type="image/png" sizes="32x32" href="/assets/favicon/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon/favicon-16x16.png"> <link rel="manifest" href="/assets/favicon/site.webmanifest"> <link rel="mask-icon" href="/assets/favicon/safari-pinned-tab.svg" color="#5bbad5"> <meta name="msapplication-TileColor" content="#da532c"> <meta name="msapplication-config" content="/assets/favicon/browserconfig.xml"> <meta name="theme-color" content="#ffffff"> </head> <body> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <symbol id="svg-link" viewBox="0 0 24 24"> <title>Link</title> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-link"> <path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path> </svg> </symbol> <symbol id="svg-search" viewBox="0 0 24 24"> <title>Search</title> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-search"> <circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line> </svg> </symbol> <symbol id="svg-menu" viewBox="0 0 24 24"> <title>Menu</title> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-menu"> <line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="18" x2="21" y2="18"></line> </svg> </symbol> <symbol id="svg-arrow-right" viewBox="0 0 24 24"> <title>Expand</title> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-right"> <polyline points="9 18 15 12 9 6"></polyline> </svg> </symbol> <symbol id="svg-doc" viewBox="0 0 24 24"> <title>Document</title> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-file"> <path d="M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"></path><polyline points="13 2 13 9 20 9"></polyline> </svg> </symbol> </svg> <div class="side-bar"> <div class="site-header"> <a href="/" class="site-title lh-tight"> sfall </a> <a href="#" id="menu-button" class="site-button"> <svg viewBox="0 0 24 24" class="icon"><use xlink:href="#svg-menu"></use></svg> </a> </div> <nav role="navigation" aria-label="Main" id="site-nav" class="site-nav"> <ul class="nav-list"><li class="nav-list-item"><a href="/" class="nav-list-link">Home</a></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="/arrays/" class="nav-list-link">Arrays</a><ul class="nav-list "><li class="nav-list-item "><a href="/array-functions/" class="nav-list-link">Array functions</a></li><li class="nav-list-item "><a href="/lists/" class="nav-list-link">Lists</a></li></ul></li><li class="nav-list-item"><a href="/best-practices/" class="nav-list-link">Best practices</a></li><li class="nav-list-item"><a href="/data-types/" class="nav-list-link">Data types</a></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="/global-scripts/" class="nav-list-link">Global scripts</a><ul class="nav-list "><li class="nav-list-item "><a href="/global-script-functions/" class="nav-list-link">Global script functions</a></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="/hooks/" class="nav-list-link">Hooks</a><ul class="nav-list "><li class="nav-list-item "><a href="/hook-functions/" class="nav-list-link">Hook functions</a></li><li class="nav-list-item "><a href="/hook-types/" class="nav-list-link">Hook types</a></li></ul></li><li class="nav-list-item"><a href="/sslc/" class="nav-list-link">SSLC</a></li><li class="nav-list-item"><a href="/optimization/" class="nav-list-link">Optimization</a></li><li class="nav-list-item"><a href="/animations/" class="nav-list-link">Animations</a></li><li class="nav-list-item"><a href="/art-and-appearance/" class="nav-list-link">Art and appearance</a></li><li class="nav-list-item"><a href="/audio/" class="nav-list-link">Audio</a></li><li class="nav-list-item"><a href="/car/" class="nav-list-link">Car</a></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="/combat/" class="nav-list-link">Combat</a><ul class="nav-list "><li class="nav-list-item "><a href="/knockback/" class="nav-list-link">Knockback</a></li><li class="nav-list-item "><a href="/weapons-and-ammo/" class="nav-list-link">Weapons and ammo</a></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="/direct-memory-access/" class="nav-list-link">Direct memory access</a><ul class="nav-list "><li class="nav-list-item "><a href="/call_offset_vx/" class="nav-list-link">call_offset_vX</a></li><li class="nav-list-item "><a href="/read_xxx/" class="nav-list-link">read_xxx</a></li><li class="nav-list-item "><a href="/write_xxx/" class="nav-list-link">write_xxx</a></li></ul></li><li class="nav-list-item"><a href="/explosions/" class="nav-list-link">Explosions</a></li><li class="nav-list-item"><a href="/global-variables/" class="nav-list-link">Global variables</a></li><li class="nav-list-item"><a href="/graphics/" class="nav-list-link">Graphics</a></li><li class="nav-list-item"><a href="/ini-settings/" class="nav-list-link">INI settings</a></li><li class="nav-list-item active"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="/interface/" class="nav-list-link">Interface</a><ul class="nav-list "><li class="nav-list-item "><a href="/cursor/" class="nav-list-link">Cursor</a></li><li class="nav-list-item "><a href="/inventory/" class="nav-list-link">Inventory</a></li><li class="nav-list-item "><a href="/main-interface/" class="nav-list-link">Main interface</a></li><li class="nav-list-item "><a href="/outline/" class="nav-list-link">Outline</a></li><li class="nav-list-item "><a href="/pip-boy/" class="nav-list-link">Pip-Boy</a></li><li class="nav-list-item "><a href="/tags/" class="nav-list-link">Tags</a></li><li class="nav-list-item active"><a href="/windows-and-images/" class="nav-list-link active">Windows and images</a></li></ul></li><li class="nav-list-item"><a href="/keyboard-and-mouse/" class="nav-list-link">Keyboard and mouse</a></li><li class="nav-list-item"><a href="/locks/" class="nav-list-link">Locks</a></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="/maps-and-encounters/" class="nav-list-link">Maps and encounters</a><ul class="nav-list "><li class="nav-list-item "><a href="/rest/" class="nav-list-link">Rest</a></li><li class="nav-list-item "><a href="/worldmap/" class="nav-list-link">Worldmap</a></li></ul></li><li class="nav-list-item"><a href="/objects-and-scripts/" class="nav-list-link">Objects and scripts</a></li><li class="nav-list-item"><a href="/other/" class="nav-list-link">Other</a></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="/perks-and-traits/" class="nav-list-link">Perks and traits</a><ul class="nav-list "><li class="nav-list-item "><a href="/npc-perks/" class="nav-list-link">NPC perks</a></li></ul></li><li class="nav-list-item"><a href="/sfall-funcx-macros/" class="nav-list-link">Sfall funcX macros</a></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="/sfall/" class="nav-list-link">Sfall</a><ul class="nav-list "><li class="nav-list-item "><a href="/funcx/" class="nav-list-link">funcX</a></li><li class="nav-list-item "><a href="/version/" class="nav-list-link">Version</a></li></ul></li><li class="nav-list-item"><a href="/skills/" class="nav-list-link">Skills</a></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="/stats/" class="nav-list-link">Stats</a><ul class="nav-list "><li class="nav-list-item "><a href="/alter-min-max/" class="nav-list-link">Alter min/max</a></li></ul></li><li class="nav-list-item"><a href="/tiles-and-paths/" class="nav-list-link">Tiles and paths</a></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="/variables/" class="nav-list-link">Variables</a><ul class="nav-list "><li class="nav-list-item "><a href="/math/" class="nav-list-link">Math</a></li><li class="nav-list-item "><a href="/strings/" class="nav-list-link">Strings</a></li></ul></li><li class="nav-list-item"><a href="/virtual-file-system/" class="nav-list-link">Virtual file system</a></li></ul> </nav> <footer class="site-footer"> This site uses <a href="https://github.com/pmarsceill/just-the-docs">Just the Docs</a>, a documentation theme for Jekyll. </footer> </div> <div class="main" id="top"> <div id="main-header" class="main-header"> <div class="search"> <div class="search-input-wrap"> <input type="text" id="search-input" class="search-input" tabindex="0" placeholder="Search sfall" aria-label="Search sfall" autocomplete="off"> <label for="search-input" class="search-label"><svg viewBox="0 0 24 24" class="search-icon"><use xlink:href="#svg-search"></use></svg></label> </div> <div id="search-results" class="search-results"></div> </div> <nav aria-label="Auxiliary" class="aux-nav"> <ul class="aux-nav-list"> <li class="aux-nav-list-item"> <a href="https://nma-fallout.com/threads/fo2-engine-tweaks-sfall.178390/" class="site-button" > Forum </a> </li> <li class="aux-nav-list-item"> <a href="https://github.com/phobos2077/sfall/" class="site-button" > GitHub </a> </li> </ul> </nav> </div> <div id="main-content-wrap" class="main-content-wrap"> <nav aria-label="Breadcrumb" class="breadcrumb-nav"> <ol class="breadcrumb-nav-list"> <li class="breadcrumb-nav-list-item"><a href="/interface/">Interface</a></li> <li class="breadcrumb-nav-list-item"><span>Windows and images</span></li> </ol> </nav> <div id="main-content" class="main-content" role="main"> <h1 class="no_toc" id="windows-and-images"> <a href="#windows-and-images" class="anchor-heading" aria-labelledby="windows-and-images"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> Windows and images </h1> <h2 class="no_toc" id="functions"> <a href="#functions" class="anchor-heading" aria-labelledby="functions"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> Functions </h2> <ul id="markdown-toc"> <li><a href="#create_win" id="markdown-toc-create_win"><strong>create_win</strong></a></li> <li><a href="#draw_image" id="markdown-toc-draw_image"><strong>draw_image</strong></a></li> <li><a href="#draw_image_scaled" id="markdown-toc-draw_image_scaled"><strong>draw_image_scaled</strong></a></li> <li><a href="#get_window_attribute" id="markdown-toc-get_window_attribute"><strong>get_window_attribute</strong></a></li> <li><a href="#get_window_under_mouse" id="markdown-toc-get_window_under_mouse"><strong>get_window_under_mouse</strong></a></li> <li><a href="#interface_art_draw" id="markdown-toc-interface_art_draw"><strong>interface_art_draw</strong></a></li> <li><a href="#interface_print" id="markdown-toc-interface_print"><strong>interface_print</strong></a></li> <li><a href="#message_box" id="markdown-toc-message_box"><strong>message_box</strong></a></li> <li><a href="#nterface_overlay" id="markdown-toc-nterface_overlay"><strong>nterface_overlay</strong></a></li> <li><a href="#set_window_flag" id="markdown-toc-set_window_flag"><strong>set_window_flag</strong></a></li> <li><a href="#win_fill_color" id="markdown-toc-win_fill_color"><strong>win_fill_color</strong></a></li> </ul><hr /> <h3 class="d-inline-block" id="create_win"> <a href="#create_win" class="anchor-heading" aria-labelledby="create_win"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>create_win</strong> </h3> <p class="label label-green">sfall.h</p> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">void</span> <span class="n">create_win</span><span class="p">(</span><span class="n">string</span> <span class="n">winName</span><span class="p">,</span> <span class="kt">int</span> <span class="n">x</span><span class="p">,</span> <span class="kt">int</span> <span class="n">y</span><span class="p">,</span> <span class="kt">int</span> <span class="n">width</span><span class="p">,</span> <span class="kt">int</span> <span class="n">height</span><span class="p">,</span> <span class="kt">int</span> <span class="n">flags</span><span class="p">)</span>
</code></pre></div></div> <p><code class="highlighter-rouge">flags</code> argument is optional. Works just like vanilla <code class="highlighter-rouge">CreateWin</code> function, but creates a window with <code class="highlighter-rouge">MoveOnTop</code> flag if the flags argument is not specified, and allows to set additional flags for the created window. <code class="highlighter-rouge">MoveOnTop</code> flag allows the created window to be placed on top of the game interface.</p><hr /> <h3 class="d-inline-block" id="draw_image"> <a href="#draw_image" class="anchor-heading" aria-labelledby="draw_image"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>draw_image</strong> </h3> <p class="label label-green">sfall.h</p> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">void</span> <span class="n">draw_image</span><span class="p">(</span><span class="n">string</span><span class="o">/</span><span class="kt">int</span> <span class="n">artFile</span><span class="o">/</span><span class="n">artId</span><span class="p">,</span> <span class="kt">int</span> <span class="n">frame</span><span class="p">,</span> <span class="kt">int</span> <span class="n">x</span><span class="p">,</span> <span class="kt">int</span> <span class="n">y</span><span class="p">,</span> <span class="kt">bool</span> <span class="n">noTransparent</span><span class="p">)</span>
</code></pre></div></div> <ul> <li>displays the specified PCX or FRM image in the active window created by vanilla <code class="highlighter-rouge">CreateWin</code> or sfalls <code class="highlighter-rouge">create_win</code> script function</li> <li>artFile/artId: path to the PCX/FRM file (e.g. <code class="highlighter-rouge">art\\inven\\5mmap.frm</code>), or its FRM ID number (e.g. <code class="highlighter-rouge">0x7000026</code>, see specification of the FID format) optional arguments:</li> <li><code class="highlighter-rouge">frame</code>: frame number, the first frame starts from zero</li> <li><code class="highlighter-rouge">x/y</code>: offset relative to the top-left corner of the window</li> <li><code class="highlighter-rouge">noTransparent</code>: pass True to display an image without transparent background</li> <li>NOTE: to omit optional arguments starting from the right, call the functions with different <code class="highlighter-rouge">sfall_funcX</code> (e.g. <code class="highlighter-rouge">sfall_func4("draw_image", pathFile, frame, x, y))</code></li> </ul><hr /> <h3 class="d-inline-block" id="draw_image_scaled"> <a href="#draw_image_scaled" class="anchor-heading" aria-labelledby="draw_image_scaled"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>draw_image_scaled</strong> </h3> <p class="label label-green">sfall.h</p> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">void</span> <span class="n">draw_image_scaled</span><span class="p">(</span><span class="n">string</span><span class="o">/</span><span class="kt">int</span> <span class="n">artFile</span><span class="o">/</span><span class="n">artId</span><span class="p">,</span> <span class="kt">int</span> <span class="n">frame</span><span class="p">,</span> <span class="kt">int</span> <span class="n">x</span><span class="p">,</span> <span class="kt">int</span> <span class="n">y</span><span class="p">,</span> <span class="kt">int</span> <span class="n">width</span><span class="p">,</span> <span class="kt">int</span> <span class="n">height</span><span class="p">)</span>
</code></pre></div></div> <ul> <li>displays the specified PCX or FRM image in the active window created by vanilla <code class="highlighter-rouge">CreateWin</code> or sfalls <code class="highlighter-rouge">create_win</code> script function</li> <li>artFile/artId: path to the PCX/FRM file (e.g. <code class="highlighter-rouge">art\\inven\\5mmap.frm</code>), or its FRM ID number (e.g. <code class="highlighter-rouge">0x7000026</code>, see specification of the FID format) optional arguments:</li> <li><code class="highlighter-rouge">frame</code>: frame number, the first frame starts from zero</li> <li><code class="highlighter-rouge">x/y</code>: offset relative to the top-left corner of the window</li> <li><code class="highlighter-rouge">width/height</code>: the new width/height to scale the image to. Pass -1 to either width or height to keep the aspect ratio when scaling</li> <li>NOTE: to omit optional arguments starting from the right, call the functions with different <code class="highlighter-rouge">sfall_funcX</code> (e.g. <code class="highlighter-rouge">sfall_func4("draw_image", pathFile, frame, x, y))</code></li> <li>if called without <code class="highlighter-rouge">x/y/width/height</code> arguments, the image will be scaled to fit the window without transparent background</li> </ul><hr /> <h3 id="get_window_attribute"> <a href="#get_window_attribute" class="anchor-heading" aria-labelledby="get_window_attribute"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>get_window_attribute</strong> </h3> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">int</span> <span class="n">sfall_func1</span><span class="p">(</span><span class="s">"get_window_attribute"</span><span class="p">,</span> <span class="kt">int</span> <span class="n">winType</span><span class="p">)</span>
</code></pre></div></div> <p>Alternative form: <code class="highlighter-rouge">int sfall_func2("get_window_attribute", int winType, int attrType)</code> Returns the attribute of the specified interface window by the <code class="highlighter-rouge">attrType</code> argument.</p> <ul> <li><code class="highlighter-rouge">winType</code>: the type number of the interface window (see <code class="highlighter-rouge">WINTYPE_*</code> constants in <code class="highlighter-rouge">sfall.h</code>)</li> <li><code class="highlighter-rouge">attrType</code>: <code class="highlighter-rouge">0</code> - checks and returns a value of 1 if the specified interface window is created by the game (same as without the argument) <code class="highlighter-rouge">1</code> - X position, <code class="highlighter-rouge">2</code> - Y position (relative to the top-left corner of the game screen) <code class="highlighter-rouge">3</code> - interface width size, <code class="highlighter-rouge">4</code> - interface height size <code class="highlighter-rouge">-1</code> - returns an associative array of keys (left, top, right, bottom) and values that define the position of the window rectangle (use standard syntax to access array values, e.g. <code class="highlighter-rouge">winRect.top</code>, <code class="highlighter-rouge">winRect.bottom</code>)</li> <li>returns -1 if the specified attribute cannot be obtained</li> </ul><hr /> <h3 id="get_window_under_mouse"> <a href="#get_window_under_mouse" class="anchor-heading" aria-labelledby="get_window_under_mouse"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>get_window_under_mouse</strong> </h3> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">int</span> <span class="n">get_window_under_mouse</span><span class="p">()</span>
</code></pre></div></div><hr /> <h3 id="interface_art_draw"> <a href="#interface_art_draw" class="anchor-heading" aria-labelledby="interface_art_draw"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>interface_art_draw</strong> </h3> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">int</span> <span class="n">sfall_func4</span><span class="p">(</span><span class="s">"interface_art_draw"</span><span class="p">,</span> <span class="kt">int</span> <span class="n">winType</span><span class="p">,</span> <span class="n">string</span> <span class="n">artFile</span><span class="o">/</span><span class="kt">int</span> <span class="n">artID</span><span class="p">,</span> <span class="kt">int</span> <span class="n">x</span><span class="p">,</span> <span class="kt">int</span> <span class="n">y</span><span class="p">)</span>
</code></pre></div></div> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">int</span> <span class="n">sfall_func4</span><span class="p">(</span><span class="s">"interface_art_draw"</span><span class="p">,</span> <span class="kt">int</span> <span class="n">winType</span><span class="p">,</span> <span class="n">string</span> <span class="n">artFile</span><span class="o">/</span><span class="kt">int</span> <span class="n">artID</span><span class="p">,</span> <span class="kt">int</span> <span class="n">x</span><span class="p">,</span> <span class="kt">int</span> <span class="n">y</span><span class="p">)</span>
<span class="kt">int</span> <span class="n">sfall_func5</span><span class="p">(</span><span class="s">"interface_art_draw"</span><span class="p">,</span> <span class="kt">int</span> <span class="n">winType</span><span class="p">,</span> <span class="n">string</span> <span class="n">artFile</span><span class="o">/</span><span class="kt">int</span> <span class="n">artID</span><span class="p">,</span> <span class="kt">int</span> <span class="n">x</span><span class="p">,</span> <span class="kt">int</span> <span class="n">y</span><span class="p">,</span> <span class="kt">int</span> <span class="n">frame</span><span class="p">)</span>
<span class="kt">int</span> <span class="n">sfall_func6</span><span class="p">(</span><span class="s">"interface_art_draw"</span><span class="p">,</span> <span class="kt">int</span> <span class="n">winType</span><span class="p">,</span> <span class="n">string</span> <span class="n">artFile</span><span class="o">/</span><span class="kt">int</span> <span class="n">artID</span><span class="p">,</span> <span class="kt">int</span> <span class="n">x</span><span class="p">,</span> <span class="kt">int</span> <span class="n">y</span><span class="p">,</span> <span class="kt">int</span> <span class="n">frame</span><span class="p">,</span> <span class="n">array</span> <span class="n">param</span><span class="p">)</span>
</code></pre></div></div> <ul> <li>draws the specified PCX or FRM image in the game interface window, returns -1 on any error</li> <li><code class="highlighter-rouge">winType</code>: the type number of the interface window (see <code class="highlighter-rouge">WINTYPE_*</code> constants in <code class="highlighter-rouge">sfall.h</code>) this also takes the value of the flag (0x1000000) to prevent immediate redrawing of the interface window</li> <li><code class="highlighter-rouge">artFile/artId</code>: path to the PCX/FRM file (e.g. <code class="highlighter-rouge">art\\inven\\5mmap.frm</code>), or its FRM ID number (e.g. <code class="highlighter-rouge">0x7000026</code>, see specification of the FID format)</li> <li><code class="highlighter-rouge">x/y</code>: offset relative to the top-left corner of the window</li> </ul> <p>optional arguments:</p> <ul> <li><code class="highlighter-rouge">frame</code>: frame number, the first frame starts from zero</li> <li><code class="highlighter-rouge">param</code>: an array which specifies additional parameters, where: index 0 - sprite direction for multi-directional FRM index 1/index 2 - the new width/height to scale the image to. Pass -1 to use the original width/height</li> </ul><hr /> <h3 id="interface_print"> <a href="#interface_print" class="anchor-heading" aria-labelledby="interface_print"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>interface_print</strong> </h3> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">int</span> <span class="n">sfall_func5</span><span class="p">(</span><span class="s">"interface_print"</span><span class="p">,</span> <span class="n">string</span> <span class="n">text</span><span class="p">,</span> <span class="kt">int</span> <span class="n">winType</span><span class="p">,</span> <span class="kt">int</span> <span class="n">x</span><span class="p">,</span> <span class="kt">int</span> <span class="n">y</span><span class="p">,</span> <span class="kt">int</span> <span class="n">color</span><span class="p">)</span>
</code></pre></div></div> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">int</span> <span class="n">sfall_func5</span><span class="p">(</span><span class="s">"interface_print"</span><span class="p">,</span> <span class="n">string</span> <span class="n">text</span><span class="p">,</span> <span class="kt">int</span> <span class="n">winType</span><span class="p">,</span> <span class="kt">int</span> <span class="n">x</span><span class="p">,</span> <span class="kt">int</span> <span class="n">y</span><span class="p">,</span> <span class="kt">int</span> <span class="n">color</span><span class="p">)</span>
<span class="kt">int</span> <span class="n">sfall_func6</span><span class="p">(</span><span class="s">"interface_print"</span><span class="p">,</span> <span class="n">string</span> <span class="n">text</span><span class="p">,</span> <span class="kt">int</span> <span class="n">winType</span><span class="p">,</span> <span class="kt">int</span> <span class="n">x</span><span class="p">,</span> <span class="kt">int</span> <span class="n">y</span><span class="p">,</span> <span class="kt">int</span> <span class="n">color</span><span class="p">,</span> <span class="kt">int</span> <span class="n">width</span><span class="p">)</span>
</code></pre></div></div> <ul> <li>displays the text in the specified interface window with the current font. Use vanilla <code class="highlighter-rouge">SetFont</code> function to set the font</li> <li>returns the count of lines printed, or -1 on any error</li> <li><code class="highlighter-rouge">text</code>: the text to be printed. Use the <code class="highlighter-rouge">\n</code> control character to move text to a new line (example: “Hello\nWorld!”)</li> <li><code class="highlighter-rouge">winType</code>: the type number of the interface window (see <code class="highlighter-rouge">WINTYPE_*</code> constants in sfall.h)</li> <li><code class="highlighter-rouge">x/y</code>: offset relative to the top-left corner of the window</li> <li><code class="highlighter-rouge">color</code>: the color index in the game palette. Pass 0 if the text color was previously set by vanilla <code class="highlighter-rouge">SetTextColor</code> function It can also take additional flags (via <code class="highlighter-rouge">bwor</code>) for displaying text: <ul> <li><code class="highlighter-rouge">0x0010000</code> - adds a shadow to the text, the textshadow compiler constant</li> <li><code class="highlighter-rouge">0x1000000</code> - prevents immediate redrawing of the interface window, the <code class="highlighter-rouge">textdirect</code> compiler constant (works the other way around)</li> <li><code class="highlighter-rouge">0x2000000</code> - fills the background of the text with black color, the <code class="highlighter-rouge">textnofill</code> compiler constant (works the other way around)</li> </ul> </li> <li><code class="highlighter-rouge">width</code> (optional): the maximum width of the text. The text will be wrapped to fit within the specified width</li> </ul><hr /> <h3 id="message_box"> <a href="#message_box" class="anchor-heading" aria-labelledby="message_box"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>message_box</strong> </h3> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">int</span> <span class="n">sfall_func4</span><span class="p">(</span><span class="s">"message_box"</span><span class="p">,</span> <span class="n">string</span> <span class="n">message</span><span class="p">,</span> <span class="kt">int</span> <span class="n">flags</span><span class="p">,</span> <span class="kt">int</span> <span class="n">color1</span><span class="p">,</span> <span class="kt">int</span> <span class="n">color2</span><span class="p">)</span>
</code></pre></div></div> <p>Creates a dialog box with text and returns the result of pressing the button: 0 - No (Escape), 1 - Yes/Done (Enter). Returns -1 if for some reason the dialog box cannot be created.</p> <div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>- message: the text in the dialog box. Use the `\n` control character to move text to a new line (example: "Hello\nWorld!")
optional arguments:
- flags: mode flags (see `MSGBOX_*` constants in define_extra.h). Pass -1 to skip setting the flags (default flags are NORMAL and YESNO)
- color1/color2: the color index in the game palette. `color1` sets the text color for the first line, and `color2` for all subsequent lines of text (default color is 145)
</code></pre></div></div><hr /> <h3 id="nterface_overlay"> <a href="#nterface_overlay" class="anchor-heading" aria-labelledby="nterface_overlay"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>nterface_overlay</strong> </h3> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">sfall_func2</span><span class="p">(</span><span class="s">"interface_overlay"</span><span class="p">,</span> <span class="kt">int</span> <span class="n">winType</span><span class="p">,</span> <span class="kt">int</span> <span class="n">mode</span><span class="p">)</span>
</code></pre></div></div> <p>Alternative form: <code class="highlighter-rouge">int sfall_func6("interface_overlay", int winType, 2, int x, int y, int width, int height)</code>.</p> <p>Creates an additional drawing surface above the graphic layer of the specified interface window. All subsequent calls of <code class="highlighter-rouge">interface_art_draw</code> and <code class="highlighter-rouge">interface_print</code> functions will draw on it.</p> <ul> <li><code class="highlighter-rouge">winType</code>: the type number of the interface window (see <code class="highlighter-rouge">WINTYPE_*</code> constants in <code class="highlighter-rouge">sfall.h</code>)</li> <li><code class="highlighter-rouge">mode</code>: 1 - creates a new overlay surface 2 - clears the overlay area or the specified rectangle defined by the <code class="highlighter-rouge">x</code>, <code class="highlighter-rouge">y</code>, <code class="highlighter-rouge">width</code>, <code class="highlighter-rouge">height</code> arguments 0 - destroys the created overlay surface (frees up the memory allocated to the surface)</li> </ul><hr /> <h3 class="d-inline-block" id="set_window_flag"> <a href="#set_window_flag" class="anchor-heading" aria-labelledby="set_window_flag"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>set_window_flag</strong> </h3> <p class="label label-green">sfall.h</p> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">void</span> <span class="n">set_window_flag</span><span class="p">(</span><span class="n">string</span> <span class="n">winName</span><span class="o">/</span><span class="kt">int</span> <span class="n">winID</span><span class="p">,</span> <span class="kt">int</span> <span class="n">flag</span><span class="p">,</span> <span class="kt">bool</span> <span class="n">value</span><span class="p">)</span>
</code></pre></div></div> <p>Changes the specified flag for the created script or game interface window.</p> <ul> <li>winName: the window name, assigned to the window by the <code class="highlighter-rouge">CreateWin/create_win</code> function</li> <li>winID: the ID number of the interface or script window obtained with the <code class="highlighter-rouge">get_window_under_mouse</code> function, or 0 for the current game interface</li> <li>flag: the flag to change (see <code class="highlighter-rouge">WIN_FLAG_*</code> constants in <code class="highlighter-rouge">define_extra.h</code>)</li> <li>value: <code class="highlighter-rouge">true</code> - set the flag, <code class="highlighter-rouge">false</code> - unset the flag</li> </ul><hr /> <h3 id="win_fill_color"> <a href="#win_fill_color" class="anchor-heading" aria-labelledby="win_fill_color"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>win_fill_color</strong> </h3> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">int</span> <span class="n">win_fill_color</span><span class="p">(</span><span class="kt">int</span> <span class="n">x</span><span class="p">,</span> <span class="kt">int</span> <span class="n">y</span><span class="p">,</span> <span class="kt">int</span> <span class="n">width</span><span class="p">,</span> <span class="kt">int</span> <span class="n">height</span><span class="p">,</span> <span class="kt">int</span> <span class="n">color</span><span class="p">)</span>
</code></pre></div></div> <p>Fills the rectangle area of the currently selected script window with the specified color, or clears the window with transparent (index 0) color (call the function without arguments).</p> <ul> <li><code class="highlighter-rouge">color</code>: the color index in the game palette (from 0 to 255)</li> </ul> </div> </div> <div class="search-overlay"></div> </div> </body> </html>