mirror of
https://github.com/sfall-team/sfall.git
synced 2026-07-27 16:52:34 -07:00
23 lines
44 KiB
HTML
23 lines
44 KiB
HTML
<!DOCTYPE html> <html lang="en-US"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=Edge"> <link rel="stylesheet" href="/sfall/assets/css/just-the-docs-default.css"> <link rel="stylesheet" href="/sfall/assets/css/just-the-docs-head-nav.css" id="jtd-head-nav-stylesheet"> <style id="jtd-nav-activation"> .site-nav > ul.nav-list:first-child > li > a, .site-nav > ul.nav-list:first-child > li > ul > li:not(:nth-child(7)) > a, .site-nav > ul.nav-list:first-child > li > ul > li > ul > li > a { background-image: none; } .site-nav > ul.nav-list:not(:first-child) a, .site-nav li.external a { background-image: none; } .site-nav > ul.nav-list:first-child > li:nth-child(19) > ul > li:nth-child(7) > a { font-weight: 600; text-decoration: none; }.site-nav > ul.nav-list:first-child > li:nth-child(19) > button svg, .site-nav > ul.nav-list:first-child > li:nth-child(19) > ul > li:nth-child(7) > button svg { transform: rotate(-90deg); }.site-nav > ul.nav-list:first-child > li.nav-list-item:nth-child(19) > ul.nav-list, .site-nav > ul.nav-list:first-child > li.nav-list-item:nth-child(19) > ul.nav-list > li.nav-list-item:nth-child(7) > ul.nav-list { display: block; } </style> <script src="/sfall/assets/js/vendor/lunr.min.js"></script> <script src="/sfall/assets/js/just-the-docs.js"></script> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="icon" href="/sfall/favicon.ico" type="image/x-icon"> <!-- Begin Jekyll SEO tag v2.8.0 --> <title>Windows and images | sfall</title> <meta name="generator" content="Jekyll v3.9.0" /> <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="/sfall/windows-and-images/" /> <meta property="og:url" content="/sfall/windows-and-images/" /> <meta property="og:site_name" content="sfall" /> <meta property="og:type" content="website" /> <meta name="twitter:card" content="summary" /> <meta property="twitter:title" content="Windows and images" /> <script type="application/ld+json"> {"@context":"https://schema.org","@type":"WebPage","description":"Sfall documentation","headline":"Windows and images","url":"/sfall/windows-and-images/"}</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> <a class="skip-to-main" href="#main-content">Skip to main content</a> <svg xmlns="http://www.w3.org/2000/svg" class="d-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-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> <!-- Feather. MIT License: https://github.com/feathericons/feather/blob/master/LICENSE --> <symbol id="svg-external-link" 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-external-link"> <title id="svg-external-link-title">(external link)</title> <path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line> </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> <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> <!-- Bootstrap Icons. MIT License: https://github.com/twbs/icons/blob/main/LICENSE.md --> <symbol id="svg-copy" viewBox="0 0 16 16"> <title>Copy</title> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-clipboard" viewBox="0 0 16 16"> <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z"/> <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z"/> </svg> </symbol> <symbol id="svg-copied" viewBox="0 0 16 16"> <title>Copied</title> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-clipboard-check-fill" viewBox="0 0 16 16"> <path d="M6.5 0A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3Zm3 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3Z"/> <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1A2.5 2.5 0 0 1 9.5 5h-3A2.5 2.5 0 0 1 4 2.5v-1Zm6.854 7.354-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L7.5 10.793l2.646-2.647a.5.5 0 0 1 .708.708Z"/> </svg> </symbol> </svg> <div class="side-bar"> <div class="site-header" role="banner"> <a href="/sfall/" class="site-title lh-tight"> sfall </a> <button id="menu-button" class="site-button btn-reset" aria-label="Toggle menu" aria-pressed="false"> <svg viewBox="0 0 24 24" class="icon" aria-hidden="true"><use xlink:href="#svg-menu"></use></svg> </button> </div> <nav aria-label="Main" id="site-nav" class="site-nav"> <ul class="nav-list"><li class="nav-list-item"><a href="/sfall/" class="nav-list-link">Home</a></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Arrays category" aria-pressed="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><a href="/sfall/arrays/" class="nav-list-link">Arrays</a><ul class="nav-list"><li class="nav-list-item"><a href="/sfall/array-functions/" class="nav-list-link">Array functions</a></li><li class="nav-list-item"><a href="/sfall/lists/" class="nav-list-link">Lists</a></li></ul></li><li class="nav-list-item"><a href="/sfall/best-practices/" class="nav-list-link">Best practices</a></li><li class="nav-list-item"><a href="/sfall/data-types/" class="nav-list-link">Data types</a></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Global scripts category" aria-pressed="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><a href="/sfall/global-scripts/" class="nav-list-link">Global scripts</a><ul class="nav-list"><li class="nav-list-item"><a href="/sfall/global-script-functions/" class="nav-list-link">Global script functions</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Hooks category" aria-pressed="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><a href="/sfall/hooks/" class="nav-list-link">Hooks</a><ul class="nav-list"><li class="nav-list-item"><a href="/sfall/hook-functions/" class="nav-list-link">Hook functions</a></li><li class="nav-list-item"><a href="/sfall/hook-types/" class="nav-list-link">Hook types</a></li></ul></li><li class="nav-list-item"><a href="/sfall/sslc/" class="nav-list-link">SSLC</a></li><li class="nav-list-item"><a href="/sfall/optimization/" class="nav-list-link">Optimization</a></li><li class="nav-list-item"><a href="/sfall/animations/" class="nav-list-link">Animations</a></li><li class="nav-list-item"><a href="/sfall/art-and-appearance/" class="nav-list-link">Art and appearance</a></li><li class="nav-list-item"><a href="/sfall/audio/" class="nav-list-link">Audio</a></li><li class="nav-list-item"><a href="/sfall/car/" class="nav-list-link">Car</a></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Combat category" aria-pressed="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><a href="/sfall/combat/" class="nav-list-link">Combat</a><ul class="nav-list"><li class="nav-list-item"><a href="/sfall/knockback/" class="nav-list-link">Knockback</a></li><li class="nav-list-item"><a href="/sfall/weapons-and-ammo/" class="nav-list-link">Weapons and ammo</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Direct memory access category" aria-pressed="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><a href="/sfall/direct-memory-access/" class="nav-list-link">Direct memory access</a><ul class="nav-list"><li class="nav-list-item"><a href="/sfall/call_offset_vx/" class="nav-list-link">call_offset_vX</a></li><li class="nav-list-item"><a href="/sfall/read_xxx/" class="nav-list-link">read_xxx</a></li><li class="nav-list-item"><a href="/sfall/write_xxx/" class="nav-list-link">write_xxx</a></li></ul></li><li class="nav-list-item"><a href="/sfall/explosions/" class="nav-list-link">Explosions</a></li><li class="nav-list-item"><a href="/sfall/global-variables/" class="nav-list-link">Global variables</a></li><li class="nav-list-item"><a href="/sfall/graphics/" class="nav-list-link">Graphics</a></li><li class="nav-list-item"><a href="/sfall/ini-settings/" class="nav-list-link">INI settings</a></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Interface category" aria-pressed="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><a href="/sfall/interface/" class="nav-list-link">Interface</a><ul class="nav-list"><li class="nav-list-item"><a href="/sfall/cursor/" class="nav-list-link">Cursor</a></li><li class="nav-list-item"><a href="/sfall/inventory/" class="nav-list-link">Inventory</a></li><li class="nav-list-item"><a href="/sfall/main-interface/" class="nav-list-link">Main interface</a></li><li class="nav-list-item"><a href="/sfall/outline/" class="nav-list-link">Outline</a></li><li class="nav-list-item"><a href="/sfall/pip-boy/" class="nav-list-link">Pip-Boy</a></li><li class="nav-list-item"><a href="/sfall/tags/" class="nav-list-link">Tags</a></li><li class="nav-list-item"><a href="/sfall/windows-and-images/" class="nav-list-link">Windows and images</a></li></ul></li><li class="nav-list-item"><a href="/sfall/keyboard-and-mouse/" class="nav-list-link">Keyboard and mouse</a></li><li class="nav-list-item"><a href="/sfall/locks/" class="nav-list-link">Locks</a></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Maps and encounters category" aria-pressed="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><a href="/sfall/maps-and-encounters/" class="nav-list-link">Maps and encounters</a><ul class="nav-list"><li class="nav-list-item"><a href="/sfall/rest/" class="nav-list-link">Rest</a></li><li class="nav-list-item"><a href="/sfall/worldmap/" class="nav-list-link">Worldmap</a></li></ul></li><li class="nav-list-item"><a href="/sfall/objects-and-scripts/" class="nav-list-link">Objects and scripts</a></li><li class="nav-list-item"><a href="/sfall/other/" class="nav-list-link">Other</a></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Perks and traits category" aria-pressed="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><a href="/sfall/perks-and-traits/" class="nav-list-link">Perks and traits</a><ul class="nav-list"><li class="nav-list-item"><a href="/sfall/npc-perks/" class="nav-list-link">NPC perks</a></li></ul></li><li class="nav-list-item"><a href="/sfall/sfall-funcx-macros/" class="nav-list-link">Sfall funcX macros</a></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Sfall category" aria-pressed="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><a href="/sfall/sfall/" class="nav-list-link">Sfall</a><ul class="nav-list"><li class="nav-list-item"><a href="/sfall/funcx/" class="nav-list-link">funcX</a></li><li class="nav-list-item"><a href="/sfall/version/" class="nav-list-link">Version</a></li></ul></li><li class="nav-list-item"><a href="/sfall/skills/" class="nav-list-link">Skills</a></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Stats category" aria-pressed="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><a href="/sfall/stats/" class="nav-list-link">Stats</a><ul class="nav-list"><li class="nav-list-item"><a href="/sfall/alter-min-max/" class="nav-list-link">Alter min/max</a></li></ul></li><li class="nav-list-item"><a href="/sfall/tiles-and-paths/" class="nav-list-link">Tiles and paths</a></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Utility category" aria-pressed="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><a href="/sfall/utility/" class="nav-list-link">Utility</a><ul class="nav-list"><li class="nav-list-item"><a href="/sfall/math/" class="nav-list-link">Math</a></li><li class="nav-list-item"><a href="/sfall/strings/" class="nav-list-link">Strings</a></li></ul></li><li class="nav-list-item"><a href="/sfall/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/just-the-docs/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" role="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 class="main-content-wrap"> <nav aria-label="Breadcrumb" class="breadcrumb-nav"> <ol class="breadcrumb-nav-list"> <li class="breadcrumb-nav-list-item"><a href="/sfall/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"> <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="#art_frame_data" id="markdown-toc-art_frame_data"><strong>art_frame_data</strong></a></li> <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_overlay" id="markdown-toc-interface_overlay"><strong>interface_overlay</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="#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="art_frame_data"> <a href="#art_frame_data" class="anchor-heading" aria-labelledby="art_frame_data"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>art_frame_data</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="n">array</span> <span class="n">art_frame_data</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">rotation</span><span class="p">)</span>
|
||
</code></pre></div></div> <ul> <li>returns the dimensions of a given PCX or FRM frame as a temp array in the form <strong>[width, height]</strong></li> <li><code class="language-plaintext highlighter-rouge">artFile/artId</code>: path to the PCX/FRM file (e.g. <code class="language-plaintext highlighter-rouge">art\\inven\\5mmap.frm</code>), or its FRM ID number (e.g. <code class="language-plaintext highlighter-rouge">0x7000026</code>, see specification of the FID format) optional arguments:</li> <li><code class="language-plaintext highlighter-rouge">frame</code>: frame number, the first frame starts from zero</li> <li><code class="language-plaintext highlighter-rouge">rotation</code>: rotation to get the frame for, useful when reading FRM files by path</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="language-plaintext highlighter-rouge">flags</code> argument is optional. Works just like vanilla <code class="language-plaintext highlighter-rouge">CreateWin</code> function, but creates a window with <code class="language-plaintext highlighter-rouge">MoveOnTop</code> flag if the flags argument is not specified, and allows to set additional flags for the created window. <code class="language-plaintext 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="language-plaintext highlighter-rouge">CreateWin</code> or sfall’s <code class="language-plaintext highlighter-rouge">create_win</code> script function</li> <li>artFile/artId: path to the PCX/FRM file (e.g. <code class="language-plaintext highlighter-rouge">art\\inven\\5mmap.frm</code>), or its FRM ID number (e.g. <code class="language-plaintext highlighter-rouge">0x7000026</code>, see specification of the FID format) optional arguments:</li> <li><code class="language-plaintext highlighter-rouge">frame</code>: frame number, the first frame starts from zero</li> <li><code class="language-plaintext highlighter-rouge">x/y</code>: offset relative to the top-left corner of the window</li> <li><code class="language-plaintext 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="language-plaintext highlighter-rouge">sfall_funcX</code> (e.g. <code class="language-plaintext 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="language-plaintext highlighter-rouge">CreateWin</code> or sfall’s <code class="language-plaintext highlighter-rouge">create_win</code> script function</li> <li>artFile/artId: path to the PCX/FRM file (e.g. <code class="language-plaintext highlighter-rouge">art\\inven\\5mmap.frm</code>), or its FRM ID number (e.g. <code class="language-plaintext highlighter-rouge">0x7000026</code>, see specification of the FID format) optional arguments:</li> <li><code class="language-plaintext highlighter-rouge">frame</code>: frame number, the first frame starts from zero</li> <li><code class="language-plaintext highlighter-rouge">x/y</code>: offset relative to the top-left corner of the window</li> <li><code class="language-plaintext 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="language-plaintext highlighter-rouge">sfall_funcX</code> (e.g. <code class="language-plaintext highlighter-rouge">sfall_func4("draw_image", pathFile, frame, x, y))</code></li> <li>if called without <code class="language-plaintext 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="language-plaintext 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="language-plaintext highlighter-rouge">attrType</code> argument.</p> <ul> <li><code class="language-plaintext highlighter-rouge">winType</code>: the type number of the interface window (see <code class="language-plaintext highlighter-rouge">WINTYPE_*</code> constants in <strong>sfall.h</strong>)</li> <li><code class="language-plaintext highlighter-rouge">attrType</code>: <code class="language-plaintext 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="language-plaintext highlighter-rouge">1</code> - X position, <code class="language-plaintext highlighter-rouge">2</code> - Y position (relative to the top-left corner of the game screen) <code class="language-plaintext highlighter-rouge">3</code> - interface width size, <code class="language-plaintext highlighter-rouge">4</code> - interface height size <code class="language-plaintext highlighter-rouge">5</code> - window ID (to compare with the <code class="language-plaintext highlighter-rouge">get_window_under_mouse</code> function) <code class="language-plaintext 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="language-plaintext highlighter-rouge">winRect.top</code>, <code class="language-plaintext 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> <p>Returns the internal ID of the top-most window under mouse cursor.</p><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="language-plaintext highlighter-rouge">winType</code>: the type number of the interface window (see <code class="language-plaintext highlighter-rouge">WINTYPE_*</code> constants in <strong>sfall.h</strong>) this also takes the value of the flag (0x1000000) to prevent immediate redrawing of the interface window</li> <li><code class="language-plaintext highlighter-rouge">artFile/artId</code>: path to the PCX/FRM file (e.g. <code class="language-plaintext highlighter-rouge">art\\inven\\5mmap.frm</code>), or its FRM ID number (e.g. <code class="language-plaintext highlighter-rouge">0x7000026</code>, see specification of the FID format)</li> <li><code class="language-plaintext 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="language-plaintext highlighter-rouge">frame</code>: frame number, the first frame starts from zero</li> <li><code class="language-plaintext 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_overlay"> <a href="#interface_overlay" class="anchor-heading" aria-labelledby="interface_overlay"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>interface_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="language-plaintext 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="language-plaintext highlighter-rouge">interface_art_draw</code> and <code class="language-plaintext highlighter-rouge">interface_print</code> functions will draw on it.</p> <ul> <li><code class="language-plaintext highlighter-rouge">winType</code>: the type number of the interface window (see <code class="language-plaintext highlighter-rouge">WINTYPE_*</code> constants in <strong>sfall.h</strong>)</li> <li><code class="language-plaintext highlighter-rouge">mode</code>: 1 - creates a new overlay surface 2 - clears the overlay area or the specified rectangle defined by the <code class="language-plaintext highlighter-rouge">x</code>, <code class="language-plaintext highlighter-rouge">y</code>, <code class="language-plaintext highlighter-rouge">width</code>, <code class="language-plaintext highlighter-rouge">height</code> arguments 0 - destroys the created overlay surface (frees up the memory allocated to the surface)</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="language-plaintext 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="language-plaintext highlighter-rouge">text</code>: the text to be printed. Use the <code class="language-plaintext highlighter-rouge">\n</code> control character to move text to a new line (example: “Hello\nWorld!”)</li> <li><code class="language-plaintext highlighter-rouge">winType</code>: the type number of the interface window (see <code class="language-plaintext highlighter-rouge">WINTYPE_*</code> constants in sfall.h)</li> <li><code class="language-plaintext highlighter-rouge">x/y</code>: offset relative to the top-left corner of the window</li> <li><code class="language-plaintext highlighter-rouge">color</code>: the color index in the game palette. Pass 0 if the text color was previously set by vanilla <code class="language-plaintext highlighter-rouge">SetTextColor</code> function It can also take additional flags (via <code class="language-plaintext highlighter-rouge">bwor</code>) for displaying text: <ul> <li><code class="language-plaintext highlighter-rouge">0x0010000</code> - adds a shadow to the text, the ‘textshadow’ compiler constant</li> <li><code class="language-plaintext highlighter-rouge">0x1000000</code> - prevents immediate redrawing of the interface window, the <code class="language-plaintext highlighter-rouge">textdirect</code> compiler constant (works the other way around)</li> <li><code class="language-plaintext highlighter-rouge">0x2000000</code> - fills the background of the text with black color, the <code class="language-plaintext highlighter-rouge">textnofill</code> compiler constant (works the other way around)</li> </ul> </li> <li><code class="language-plaintext 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="language-plaintext 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 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="language-plaintext highlighter-rouge">CreateWin/create_win</code> function</li> <li>winID: the ID number of the interface or script window obtained with the <code class="language-plaintext 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="language-plaintext highlighter-rouge">WIN_FLAG_*</code> constants in <strong>define_extra.h</strong>)</li> <li>value: <code class="language-plaintext highlighter-rouge">True</code> - set the flag, <code class="language-plaintext 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="language-plaintext highlighter-rouge">color</code>: the color index in the game palette (from 0 to 255)</li> </ul> </main> </div> </div> <div class="search-overlay"></div> </div> </body> </html>
|