git.y1.nz

gbdk-2020

GameBoy Development Kit
download: https://git.y1.nz/archives/gbdk.tar.gz
README | Files | Log | Refs | LICENSE

docs/api/nes_2metasprites_8h.html

      1 <!-- HTML header for doxygen 1.8.14-->
      2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      3 <html xmlns="http://www.w3.org/1999/xhtml">
      4 <head>
      5 <meta http-equiv="cache-control" content="max-age=86400"/>
      6 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
      7 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
      8 <meta name="generator" content="Doxygen 1.9.2"/>
      9 <meta name="viewport" content="width=device-width, initial-scale=1"/>
     10 <title>GBDK 2020 Docs: gbdk-lib/include/nes/metasprites.h File Reference</title>
     11 <link href="tabs.css" rel="stylesheet" type="text/css"/>
     12 <script type="text/javascript" src="jquery.js"></script>
     13 <script type="text/javascript" src="dynsections.js"></script>
     14 <link href="navtree.css" rel="stylesheet" type="text/css"/>
     15 <script type="text/javascript" src="resize.js"></script>
     16 <script type="text/javascript" src="navtreedata.js"></script>
     17 <script type="text/javascript" src="navtree.js"></script>
     18 <link href="search/search.css" rel="stylesheet" type="text/css"/>
     19 <script type="text/javascript" src="search/searchdata.js"></script>
     20 <script type="text/javascript" src="search/search.js"></script>
     21 <link href="doxygen.css" rel="stylesheet" type="text/css" />
     22 <link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
     23 <link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
     24 <link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
     25 <!-- BEGIN: doxygen-awesome-css -->
     26         <script type="text/javascript" src="doxygen-awesome-darkmode-toggle.js"></script>
     27         <script type="text/javascript">
     28             DoxygenAwesomeDarkModeToggle.init()
     29         </script>
     30         <script type="text/javascript" src="doxygen-awesome-paragraph-link.js"></script>
     31         <script type="text/javascript">
     32             DoxygenAwesomeParagraphLink.init()
     33         </script>        
     34 <!-- END: doxygen-awesome-css -->
     35 </head>
     36 <body>
     37 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
     38 <div id="titlearea">
     39 <table cellspacing="0" cellpadding="0">
     40  <tbody>
     41  <tr style="height: 56px;">
     42   <td id="projectalign" style="padding-left: 0.5em;">
     43    <div id="projectname">GBDK 2020 Docs
     44    &#160;<span id="projectnumber">4.5.0</span>
     45    </div>
     46    <div id="projectbrief">API Documentation for GBDK 2020</div>
     47   </td>
     48  </tr>
     49  </tbody>
     50 </table>
     51 </div>
     52 <!-- end header part -->
     53 <!-- Generated by Doxygen 1.9.2 -->
     54 <script type="text/javascript">
     55 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
     56 var searchBox = new SearchBox("searchBox", "search",'Search','.html');
     57 /* @license-end */
     58 </script>
     59 <script type="text/javascript" src="menudata.js"></script>
     60 <script type="text/javascript" src="menu.js"></script>
     61 <script type="text/javascript">
     62 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
     63 $(function() {
     64   initMenu('',true,false,'search.php','Search');
     65   $(document).ready(function() { init_search(); });
     66 });
     67 /* @license-end */
     68 </script>
     69 <div id="main-nav"></div>
     70 </div><!-- top -->
     71 <div id="side-nav" class="ui-resizable side-nav-resizable">
     72   <div id="nav-tree">
     73     <div id="nav-tree-contents">
     74       <div id="nav-sync" class="sync"></div>
     75     </div>
     76   </div>
     77   <div id="splitbar" style="-moz-user-select:none;" 
     78        class="ui-resizable-handle">
     79   </div>
     80 </div>
     81 <script type="text/javascript">
     82 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
     83 $(document).ready(function(){initNavTree('nes_2metasprites_8h.html',''); initResizable(); });
     84 /* @license-end */
     85 </script>
     86 <div id="doc-content">
     87 <!-- window showing the filter options -->
     88 <div id="MSearchSelectWindow"
     89      onmouseover="return searchBox.OnSearchSelectShow()"
     90      onmouseout="return searchBox.OnSearchSelectHide()"
     91      onkeydown="return searchBox.OnSearchSelectKey(event)">
     92 </div>
     93 
     94 <!-- iframe showing the search results (closed by default) -->
     95 <div id="MSearchResultsWindow">
     96 <iframe src="javascript:void(0)" frameborder="0" 
     97         name="MSearchResults" id="MSearchResults">
     98 </iframe>
     99 </div>
    100 
    101 <div class="header">
    102   <div class="summary">
    103 <a href="#nested-classes">Data Structures</a> &#124;
    104 <a href="#define-members">Macros</a> &#124;
    105 <a href="#typedef-members">Typedefs</a> &#124;
    106 <a href="#func-members">Functions</a> &#124;
    107 <a href="#var-members">Variables</a>  </div>
    108   <div class="headertitle"><div class="title">metasprites.h File Reference</div></div>
    109 </div><!--header-->
    110 <div class="contents">
    111 <div class="textblock"><code>#include &lt;<a class="el" href="nes_2hardware_8h_source.html">nes/hardware.h</a>&gt;</code><br />
    112 <code>#include &lt;types.h&gt;</code><br />
    113 <code>#include &lt;<a class="el" href="stdint_8h_source.html">stdint.h</a>&gt;</code><br />
    114 </div>
    115 <p><a href="nes_2metasprites_8h_source.html">Go to the source code of this file.</a></p>
    116 <table class="memberdecls">
    117 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
    118 Data Structures</h2></td></tr>
    119 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmetasprite__t.html">metasprite_t</a></td></tr>
    120 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
    121 </table><table class="memberdecls">
    122 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
    123 Macros</h2></td></tr>
    124 <tr class="memitem:metasprite_end"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2metasprites_8h.html#metasprite_end">metasprite_end</a>&#160;&#160;&#160;-128</td></tr>
    125 <tr class="separator:metasprite_end"><td class="memSeparator" colspan="2">&#160;</td></tr>
    126 <tr class="memitem:METASPR_ITEM"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2metasprites_8h.html#METASPR_ITEM">METASPR_ITEM</a>(dy,  dx,  dt,  a)&#160;&#160;&#160;{(dy),(dx),(dt),(a)}</td></tr>
    127 <tr class="separator:METASPR_ITEM"><td class="memSeparator" colspan="2">&#160;</td></tr>
    128 <tr class="memitem:METASPR_TERM"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2metasprites_8h.html#METASPR_TERM">METASPR_TERM</a>&#160;&#160;&#160;{<a class="el" href="sms_2metasprites_8h.html#metasprite_end">metasprite_end</a>}</td></tr>
    129 <tr class="separator:METASPR_TERM"><td class="memSeparator" colspan="2">&#160;</td></tr>
    130 </table><table class="memberdecls">
    131 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
    132 Typedefs</h2></td></tr>
    133 <tr class="memitem:metasprite_t"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structmetasprite__t.html">metasprite_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2metasprites_8h.html#metasprite_t">metasprite_t</a></td></tr>
    134 <tr class="separator:metasprite_t"><td class="memSeparator" colspan="2">&#160;</td></tr>
    135 </table><table class="memberdecls">
    136 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
    137 Functions</h2></td></tr>
    138 <tr class="memitem:hide_sprites_range"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2metasprites_8h.html#hide_sprites_range">hide_sprites_range</a> (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> from, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> to) <a class="el" href="asm_2types_8h.html#OLDCALL">OLDCALL</a></td></tr>
    139 <tr class="separator:hide_sprites_range"><td class="memSeparator" colspan="2">&#160;</td></tr>
    140 <tr class="memitem:move_metasprite_ex"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2metasprites_8h.html#move_metasprite_ex">move_metasprite_ex</a> (const <a class="el" href="structmetasprite__t.html">metasprite_t</a> *metasprite, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> base_tile, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> base_prop, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> base_sprite, <a class="el" href="stdint_8h.html#int16_t">int16_t</a> x, <a class="el" href="stdint_8h.html#int16_t">int16_t</a> y)</td></tr>
    141 <tr class="separator:move_metasprite_ex"><td class="memSeparator" colspan="2">&#160;</td></tr>
    142 <tr class="memitem:move_metasprite"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2metasprites_8h.html#move_metasprite">move_metasprite</a> (const <a class="el" href="structmetasprite__t.html">metasprite_t</a> *metasprite, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> base_tile, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> base_sprite, <a class="el" href="stdint_8h.html#int16_t">int16_t</a> x, <a class="el" href="stdint_8h.html#int16_t">int16_t</a> y)</td></tr>
    143 <tr class="separator:move_metasprite"><td class="memSeparator" colspan="2">&#160;</td></tr>
    144 <tr class="memitem:move_metasprite_flipx"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2metasprites_8h.html#move_metasprite_flipx">move_metasprite_flipx</a> (const <a class="el" href="structmetasprite__t.html">metasprite_t</a> *metasprite, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> base_tile, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> base_prop, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> base_sprite, <a class="el" href="stdint_8h.html#int16_t">int16_t</a> x, <a class="el" href="stdint_8h.html#int16_t">int16_t</a> y)</td></tr>
    145 <tr class="separator:move_metasprite_flipx"><td class="memSeparator" colspan="2">&#160;</td></tr>
    146 <tr class="memitem:move_metasprite_vflip"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2metasprites_8h.html#move_metasprite_vflip">move_metasprite_vflip</a> (const <a class="el" href="structmetasprite__t.html">metasprite_t</a> *metasprite, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> base_tile, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> base_sprite, <a class="el" href="stdint_8h.html#int16_t">int16_t</a> x, <a class="el" href="stdint_8h.html#int16_t">int16_t</a> y)</td></tr>
    147 <tr class="separator:move_metasprite_vflip"><td class="memSeparator" colspan="2">&#160;</td></tr>
    148 <tr class="memitem:move_metasprite_flipy"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2metasprites_8h.html#move_metasprite_flipy">move_metasprite_flipy</a> (const <a class="el" href="structmetasprite__t.html">metasprite_t</a> *metasprite, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> base_tile, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> base_prop, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> base_sprite, <a class="el" href="stdint_8h.html#int16_t">int16_t</a> x, <a class="el" href="stdint_8h.html#int16_t">int16_t</a> y)</td></tr>
    149 <tr class="separator:move_metasprite_flipy"><td class="memSeparator" colspan="2">&#160;</td></tr>
    150 <tr class="memitem:move_metasprite_hflip"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2metasprites_8h.html#move_metasprite_hflip">move_metasprite_hflip</a> (const <a class="el" href="structmetasprite__t.html">metasprite_t</a> *metasprite, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> base_tile, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> base_sprite, <a class="el" href="stdint_8h.html#int16_t">int16_t</a> x, <a class="el" href="stdint_8h.html#int16_t">int16_t</a> y)</td></tr>
    151 <tr class="separator:move_metasprite_hflip"><td class="memSeparator" colspan="2">&#160;</td></tr>
    152 <tr class="memitem:move_metasprite_flipxy"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2metasprites_8h.html#move_metasprite_flipxy">move_metasprite_flipxy</a> (const <a class="el" href="structmetasprite__t.html">metasprite_t</a> *metasprite, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> base_tile, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> base_prop, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> base_sprite, <a class="el" href="stdint_8h.html#int16_t">int16_t</a> x, <a class="el" href="stdint_8h.html#int16_t">int16_t</a> y)</td></tr>
    153 <tr class="separator:move_metasprite_flipxy"><td class="memSeparator" colspan="2">&#160;</td></tr>
    154 <tr class="memitem:move_metasprite_hvflip"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2metasprites_8h.html#move_metasprite_hvflip">move_metasprite_hvflip</a> (const <a class="el" href="structmetasprite__t.html">metasprite_t</a> *metasprite, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> base_tile, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> base_sprite, <a class="el" href="stdint_8h.html#int16_t">int16_t</a> x, <a class="el" href="stdint_8h.html#int16_t">int16_t</a> y)</td></tr>
    155 <tr class="separator:move_metasprite_hvflip"><td class="memSeparator" colspan="2">&#160;</td></tr>
    156 <tr class="memitem:hide_metasprite"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2metasprites_8h.html#hide_metasprite">hide_metasprite</a> (const <a class="el" href="structmetasprite__t.html">metasprite_t</a> *metasprite, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> base_sprite)</td></tr>
    157 <tr class="separator:hide_metasprite"><td class="memSeparator" colspan="2">&#160;</td></tr>
    158 </table><table class="memberdecls">
    159 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
    160 Variables</h2></td></tr>
    161 <tr class="memitem:__current_metasprite"><td class="memItemLeft" align="right" valign="top">const void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2metasprites_8h.html#__current_metasprite">__current_metasprite</a></td></tr>
    162 <tr class="separator:__current_metasprite"><td class="memSeparator" colspan="2">&#160;</td></tr>
    163 <tr class="memitem:__current_base_tile"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2metasprites_8h.html#__current_base_tile">__current_base_tile</a></td></tr>
    164 <tr class="separator:__current_base_tile"><td class="memSeparator" colspan="2">&#160;</td></tr>
    165 <tr class="memitem:__current_base_prop"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2metasprites_8h.html#__current_base_prop">__current_base_prop</a></td></tr>
    166 <tr class="separator:__current_base_prop"><td class="memSeparator" colspan="2">&#160;</td></tr>
    167 <tr class="memitem:__render_shadow_OAM"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2metasprites_8h.html#__render_shadow_OAM">__render_shadow_OAM</a></td></tr>
    168 <tr class="separator:__render_shadow_OAM"><td class="memSeparator" colspan="2">&#160;</td></tr>
    169 </table>
    170 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
    171 <div class="textblock"><h1><a class="anchor" id="autotoc_md316"></a>
    172 Metasprite support</h1>
    173 <p >A metasprite is a larger sprite made up from a collection of smaller individual hardware sprites. Different frames of the same metasprites can share tile data.</p>
    174 <p >See the main <a class="el" href="gb_2metasprites_8h.html#metasprite_main_docs">metasprite docs</a> under the game Boy platform for additional details. </p>
    175 </div><h2 class="groupheader">Macro Definition Documentation</h2>
    176 <a id="metasprite_end" name="metasprite_end"></a>
    177 <h2 class="memtitle"><span class="permalink"><a href="#metasprite_end">&#9670;&nbsp;</a></span>metasprite_end</h2>
    178 
    179 <div class="memitem">
    180 <div class="memproto">
    181       <table class="memname">
    182         <tr>
    183           <td class="memname">#define metasprite_end&#160;&#160;&#160;-128</td>
    184         </tr>
    185       </table>
    186 </div><div class="memdoc">
    187 
    188 </div>
    189 </div>
    190 <a id="METASPR_ITEM" name="METASPR_ITEM"></a>
    191 <h2 class="memtitle"><span class="permalink"><a href="#METASPR_ITEM">&#9670;&nbsp;</a></span>METASPR_ITEM</h2>
    192 
    193 <div class="memitem">
    194 <div class="memproto">
    195       <table class="memname">
    196         <tr>
    197           <td class="memname">#define METASPR_ITEM</td>
    198           <td>(</td>
    199           <td class="paramtype">&#160;</td>
    200           <td class="paramname">dy, </td>
    201         </tr>
    202         <tr>
    203           <td class="paramkey"></td>
    204           <td></td>
    205           <td class="paramtype">&#160;</td>
    206           <td class="paramname">dx, </td>
    207         </tr>
    208         <tr>
    209           <td class="paramkey"></td>
    210           <td></td>
    211           <td class="paramtype">&#160;</td>
    212           <td class="paramname">dt, </td>
    213         </tr>
    214         <tr>
    215           <td class="paramkey"></td>
    216           <td></td>
    217           <td class="paramtype">&#160;</td>
    218           <td class="paramname">a&#160;</td>
    219         </tr>
    220         <tr>
    221           <td></td>
    222           <td>)</td>
    223           <td></td><td>&#160;&#160;&#160;{(dy),(dx),(dt),(a)}</td>
    224         </tr>
    225       </table>
    226 </div><div class="memdoc">
    227 
    228 </div>
    229 </div>
    230 <a id="METASPR_TERM" name="METASPR_TERM"></a>
    231 <h2 class="memtitle"><span class="permalink"><a href="#METASPR_TERM">&#9670;&nbsp;</a></span>METASPR_TERM</h2>
    232 
    233 <div class="memitem">
    234 <div class="memproto">
    235       <table class="memname">
    236         <tr>
    237           <td class="memname">#define METASPR_TERM&#160;&#160;&#160;{<a class="el" href="sms_2metasprites_8h.html#metasprite_end">metasprite_end</a>}</td>
    238         </tr>
    239       </table>
    240 </div><div class="memdoc">
    241 
    242 </div>
    243 </div>
    244 <h2 class="groupheader">Typedef Documentation</h2>
    245 <a id="metasprite_t" name="metasprite_t"></a>
    246 <h2 class="memtitle"><span class="permalink"><a href="#metasprite_t">&#9670;&nbsp;</a></span>metasprite_t</h2>
    247 
    248 <div class="memitem">
    249 <div class="memproto">
    250       <table class="memname">
    251         <tr>
    252           <td class="memname">typedef struct <a class="el" href="structmetasprite__t.html">metasprite_t</a> <a class="el" href="structmetasprite__t.html">metasprite_t</a></td>
    253         </tr>
    254       </table>
    255 </div><div class="memdoc">
    256 <p >Metasprite sub-item structure </p><dl class="params"><dt>Parameters</dt><dd>
    257   <table class="params">
    258     <tr><td class="paramname">dy</td><td>(int8_t) Y coordinate of the sprite relative to the metasprite origin (pivot) </td></tr>
    259     <tr><td class="paramname">dx</td><td>(int8_t) X coordinate of the sprite relative to the metasprite origin (pivot) </td></tr>
    260     <tr><td class="paramname">dtile</td><td>(uint8_t) Start tile relative to the metasprites own set of tiles </td></tr>
    261     <tr><td class="paramname">props</td><td>(uint8_t) Property Flags</td></tr>
    262   </table>
    263   </dd>
    264 </dl>
    265 <p>Metasprites are built from multiple <a class="el" href="structmetasprite__t.html">metasprite_t</a> items (one for each sub-sprite) and a pool of tiles they reference. If a metasprite has multiple frames then each frame will be built from some number of <a class="el" href="structmetasprite__t.html">metasprite_t</a> items (which may vary based on how many sprites are required for that particular frame).</p>
    266 <p >A metasprite frame is terminated with a {metasprite_end} entry. </p>
    267 
    268 </div>
    269 </div>
    270 <h2 class="groupheader">Function Documentation</h2>
    271 <a id="hide_sprites_range" name="hide_sprites_range"></a>
    272 <h2 class="memtitle"><span class="permalink"><a href="#hide_sprites_range">&#9670;&nbsp;</a></span>hide_sprites_range()</h2>
    273 
    274 <div class="memitem">
    275 <div class="memproto">
    276       <table class="memname">
    277         <tr>
    278           <td class="memname">void hide_sprites_range </td>
    279           <td>(</td>
    280           <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td>
    281           <td class="paramname"><em>from</em>, </td>
    282         </tr>
    283         <tr>
    284           <td class="paramkey"></td>
    285           <td></td>
    286           <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td>
    287           <td class="paramname"><em>to</em>&#160;</td>
    288         </tr>
    289         <tr>
    290           <td></td>
    291           <td>)</td>
    292           <td></td><td></td>
    293         </tr>
    294       </table>
    295 </div><div class="memdoc">
    296 <p >Hides all hardware sprites in range from &lt;= X &lt; to </p><dl class="params"><dt>Parameters</dt><dd>
    297   <table class="params">
    298     <tr><td class="paramname">from</td><td>start OAM index </td></tr>
    299     <tr><td class="paramname">to</td><td>finish OAM index </td></tr>
    300   </table>
    301   </dd>
    302 </dl>
    303 
    304 </div>
    305 </div>
    306 <a id="move_metasprite_ex" name="move_metasprite_ex"></a>
    307 <h2 class="memtitle"><span class="permalink"><a href="#move_metasprite_ex">&#9670;&nbsp;</a></span>move_metasprite_ex()</h2>
    308 
    309 <div class="memitem">
    310 <div class="memproto">
    311 <table class="mlabels">
    312   <tr>
    313   <td class="mlabels-left">
    314       <table class="memname">
    315         <tr>
    316           <td class="memname"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> move_metasprite_ex </td>
    317           <td>(</td>
    318           <td class="paramtype">const <a class="el" href="structmetasprite__t.html">metasprite_t</a> *&#160;</td>
    319           <td class="paramname"><em>metasprite</em>, </td>
    320         </tr>
    321         <tr>
    322           <td class="paramkey"></td>
    323           <td></td>
    324           <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td>
    325           <td class="paramname"><em>base_tile</em>, </td>
    326         </tr>
    327         <tr>
    328           <td class="paramkey"></td>
    329           <td></td>
    330           <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td>
    331           <td class="paramname"><em>base_prop</em>, </td>
    332         </tr>
    333         <tr>
    334           <td class="paramkey"></td>
    335           <td></td>
    336           <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td>
    337           <td class="paramname"><em>base_sprite</em>, </td>
    338         </tr>
    339         <tr>
    340           <td class="paramkey"></td>
    341           <td></td>
    342           <td class="paramtype"><a class="el" href="stdint_8h.html#int16_t">int16_t</a>&#160;</td>
    343           <td class="paramname"><em>x</em>, </td>
    344         </tr>
    345         <tr>
    346           <td class="paramkey"></td>
    347           <td></td>
    348           <td class="paramtype"><a class="el" href="stdint_8h.html#int16_t">int16_t</a>&#160;</td>
    349           <td class="paramname"><em>y</em>&#160;</td>
    350         </tr>
    351         <tr>
    352           <td></td>
    353           <td>)</td>
    354           <td></td><td></td>
    355         </tr>
    356       </table>
    357   </td>
    358   <td class="mlabels-right">
    359 <span class="mlabels"><span class="mlabel">inline</span></span>  </td>
    360   </tr>
    361 </table>
    362 </div><div class="memdoc">
    363 <p >Moves metasprite to the absolute position x and y</p>
    364 <dl class="params"><dt>Parameters</dt><dd>
    365   <table class="params">
    366     <tr><td class="paramname">metasprite</td><td>Pointer to the first struct of the metasprite (for the desired frame) </td></tr>
    367     <tr><td class="paramname">base_tile</td><td>Number of the first tile where the metasprite's tiles start </td></tr>
    368     <tr><td class="paramname">base_prop</td><td>Base sprite property flags </td></tr>
    369     <tr><td class="paramname">base_sprite</td><td>Number of the first hardware sprite to be used by the metasprite </td></tr>
    370     <tr><td class="paramname">x</td><td>Absolute x coordinate of the sprite </td></tr>
    371     <tr><td class="paramname">y</td><td>Absolute y coordinate of the sprite</td></tr>
    372   </table>
    373   </dd>
    374 </dl>
    375 <p>Moves <b>metasprite</b> to the absolute position <b>x</b> and <b>y</b> (with <b>no flip</b> on the X or Y axis). Hardware sprites are allocated starting from <b>base_sprite</b>, using tiles starting from <b>base_tile</b>.</p>
    376 <p >Sets: </p><ul>
    377 <li>__current_metasprite = metasprite; </li>
    378 <li>__current_base_tile = base_tile;</li>
    379 </ul>
    380 <p>Note: Overwrites OAM sprite properties (such as palette), see <a class="el" href="gb_2metasprites_8h.html#metasprite_and_sprite_properties">Metasprites and sprite properties</a>.</p>
    381 <dl class="section return"><dt>Returns</dt><dd>Number of hardware sprites used to draw this metasprite </dd></dl>
    382 
    383 </div>
    384 </div>
    385 <a id="move_metasprite" name="move_metasprite"></a>
    386 <h2 class="memtitle"><span class="permalink"><a href="#move_metasprite">&#9670;&nbsp;</a></span>move_metasprite()</h2>
    387 
    388 <div class="memitem">
    389 <div class="memproto">
    390 <table class="mlabels">
    391   <tr>
    392   <td class="mlabels-left">
    393       <table class="memname">
    394         <tr>
    395           <td class="memname"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> move_metasprite </td>
    396           <td>(</td>
    397           <td class="paramtype">const <a class="el" href="structmetasprite__t.html">metasprite_t</a> *&#160;</td>
    398           <td class="paramname"><em>metasprite</em>, </td>
    399         </tr>
    400         <tr>
    401           <td class="paramkey"></td>
    402           <td></td>
    403           <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td>
    404           <td class="paramname"><em>base_tile</em>, </td>
    405         </tr>
    406         <tr>
    407           <td class="paramkey"></td>
    408           <td></td>
    409           <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td>
    410           <td class="paramname"><em>base_sprite</em>, </td>
    411         </tr>
    412         <tr>
    413           <td class="paramkey"></td>
    414           <td></td>
    415           <td class="paramtype"><a class="el" href="stdint_8h.html#int16_t">int16_t</a>&#160;</td>
    416           <td class="paramname"><em>x</em>, </td>
    417         </tr>
    418         <tr>
    419           <td class="paramkey"></td>
    420           <td></td>
    421           <td class="paramtype"><a class="el" href="stdint_8h.html#int16_t">int16_t</a>&#160;</td>
    422           <td class="paramname"><em>y</em>&#160;</td>
    423         </tr>
    424         <tr>
    425           <td></td>
    426           <td>)</td>
    427           <td></td><td></td>
    428         </tr>
    429       </table>
    430   </td>
    431   <td class="mlabels-right">
    432 <span class="mlabels"><span class="mlabel">inline</span></span>  </td>
    433   </tr>
    434 </table>
    435 </div><div class="memdoc">
    436 <p >Obsolete. Replaced by <a class="el" href="gb_2metasprites_8h.html#move_metasprite_ex">move_metasprite_ex()</a> </p>
    437 
    438 </div>
    439 </div>
    440 <a id="move_metasprite_flipx" name="move_metasprite_flipx"></a>
    441 <h2 class="memtitle"><span class="permalink"><a href="#move_metasprite_flipx">&#9670;&nbsp;</a></span>move_metasprite_flipx()</h2>
    442 
    443 <div class="memitem">
    444 <div class="memproto">
    445 <table class="mlabels">
    446   <tr>
    447   <td class="mlabels-left">
    448       <table class="memname">
    449         <tr>
    450           <td class="memname"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> move_metasprite_flipx </td>
    451           <td>(</td>
    452           <td class="paramtype">const <a class="el" href="structmetasprite__t.html">metasprite_t</a> *&#160;</td>
    453           <td class="paramname"><em>metasprite</em>, </td>
    454         </tr>
    455         <tr>
    456           <td class="paramkey"></td>
    457           <td></td>
    458           <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td>
    459           <td class="paramname"><em>base_tile</em>, </td>
    460         </tr>
    461         <tr>
    462           <td class="paramkey"></td>
    463           <td></td>
    464           <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td>
    465           <td class="paramname"><em>base_prop</em>, </td>
    466         </tr>
    467         <tr>
    468           <td class="paramkey"></td>
    469           <td></td>
    470           <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td>
    471           <td class="paramname"><em>base_sprite</em>, </td>
    472         </tr>
    473         <tr>
    474           <td class="paramkey"></td>
    475           <td></td>
    476           <td class="paramtype"><a class="el" href="stdint_8h.html#int16_t">int16_t</a>&#160;</td>
    477           <td class="paramname"><em>x</em>, </td>
    478         </tr>
    479         <tr>
    480           <td class="paramkey"></td>
    481           <td></td>
    482           <td class="paramtype"><a class="el" href="stdint_8h.html#int16_t">int16_t</a>&#160;</td>
    483           <td class="paramname"><em>y</em>&#160;</td>
    484         </tr>
    485         <tr>
    486           <td></td>
    487           <td>)</td>
    488           <td></td><td></td>
    489         </tr>
    490       </table>
    491   </td>
    492   <td class="mlabels-right">
    493 <span class="mlabels"><span class="mlabel">inline</span></span>  </td>
    494   </tr>
    495 </table>
    496 </div><div class="memdoc">
    497 <p >Moves metasprite to the absolute position x and y, <b>flipped by X (horizontally)</b></p>
    498 <dl class="params"><dt>Parameters</dt><dd>
    499   <table class="params">
    500     <tr><td class="paramname">metasprite</td><td>Pointer to the first struct of the metasprite (for the desired frame) </td></tr>
    501     <tr><td class="paramname">base_tile</td><td>Number of the first tile where the metasprite's tiles start </td></tr>
    502     <tr><td class="paramname">base_prop</td><td>Base sprite property flags </td></tr>
    503     <tr><td class="paramname">base_sprite</td><td>Number of the first hardware sprite to be used by the metasprite </td></tr>
    504     <tr><td class="paramname">x</td><td>Absolute x coordinate of the sprite </td></tr>
    505     <tr><td class="paramname">y</td><td>Absolute y coordinate of the sprite</td></tr>
    506   </table>
    507   </dd>
    508 </dl>
    509 <p>Same as <a class="el" href="gb_2metasprites_8h.html#move_metasprite">move_metasprite()</a>, but with the metasprite flipped by X (horizontally).</p>
    510 <p >Sets: </p><ul>
    511 <li>__current_metasprite = metasprite; </li>
    512 <li>__current_base_tile = base_tile;</li>
    513 </ul>
    514 <p>Note: Overwrites OAM sprite properties (such as palette), see <a class="el" href="gb_2metasprites_8h.html#metasprite_and_sprite_properties">Metasprites and sprite properties</a>.</p>
    515 <dl class="section return"><dt>Returns</dt><dd>Number of hardware sprites used to draw this metasprite</dd></dl>
    516 <dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_2metasprites_8h.html#move_metasprite">move_metasprite()</a> </dd></dl>
    517 
    518 </div>
    519 </div>
    520 <a id="move_metasprite_vflip" name="move_metasprite_vflip"></a>
    521 <h2 class="memtitle"><span class="permalink"><a href="#move_metasprite_vflip">&#9670;&nbsp;</a></span>move_metasprite_vflip()</h2>
    522 
    523 <div class="memitem">
    524 <div class="memproto">
    525 <table class="mlabels">
    526   <tr>
    527   <td class="mlabels-left">
    528       <table class="memname">
    529         <tr>
    530           <td class="memname"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> move_metasprite_vflip </td>
    531           <td>(</td>
    532           <td class="paramtype">const <a class="el" href="structmetasprite__t.html">metasprite_t</a> *&#160;</td>
    533           <td class="paramname"><em>metasprite</em>, </td>
    534         </tr>
    535         <tr>
    536           <td class="paramkey"></td>
    537           <td></td>
    538           <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td>
    539           <td class="paramname"><em>base_tile</em>, </td>
    540         </tr>
    541         <tr>
    542           <td class="paramkey"></td>
    543           <td></td>
    544           <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td>
    545           <td class="paramname"><em>base_sprite</em>, </td>
    546         </tr>
    547         <tr>
    548           <td class="paramkey"></td>
    549           <td></td>
    550           <td class="paramtype"><a class="el" href="stdint_8h.html#int16_t">int16_t</a>&#160;</td>
    551           <td class="paramname"><em>x</em>, </td>
    552         </tr>
    553         <tr>
    554           <td class="paramkey"></td>
    555           <td></td>
    556           <td class="paramtype"><a class="el" href="stdint_8h.html#int16_t">int16_t</a>&#160;</td>
    557           <td class="paramname"><em>y</em>&#160;</td>
    558         </tr>
    559         <tr>
    560           <td></td>
    561           <td>)</td>
    562           <td></td><td></td>
    563         </tr>
    564       </table>
    565   </td>
    566   <td class="mlabels-right">
    567 <span class="mlabels"><span class="mlabel">inline</span></span>  </td>
    568   </tr>
    569 </table>
    570 </div><div class="memdoc">
    571 <p >Obsolete. Replaced by <a class="el" href="gb_2metasprites_8h.html#move_metasprite_flipx">move_metasprite_flipx()</a> </p>
    572 
    573 </div>
    574 </div>
    575 <a id="move_metasprite_flipy" name="move_metasprite_flipy"></a>
    576 <h2 class="memtitle"><span class="permalink"><a href="#move_metasprite_flipy">&#9670;&nbsp;</a></span>move_metasprite_flipy()</h2>
    577 
    578 <div class="memitem">
    579 <div class="memproto">
    580 <table class="mlabels">
    581   <tr>
    582   <td class="mlabels-left">
    583       <table class="memname">
    584         <tr>
    585           <td class="memname"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> move_metasprite_flipy </td>
    586           <td>(</td>
    587           <td class="paramtype">const <a class="el" href="structmetasprite__t.html">metasprite_t</a> *&#160;</td>
    588           <td class="paramname"><em>metasprite</em>, </td>
    589         </tr>
    590         <tr>
    591           <td class="paramkey"></td>
    592           <td></td>
    593           <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td>
    594           <td class="paramname"><em>base_tile</em>, </td>
    595         </tr>
    596         <tr>
    597           <td class="paramkey"></td>
    598           <td></td>
    599           <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td>
    600           <td class="paramname"><em>base_prop</em>, </td>
    601         </tr>
    602         <tr>
    603           <td class="paramkey"></td>
    604           <td></td>
    605           <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td>
    606           <td class="paramname"><em>base_sprite</em>, </td>
    607         </tr>
    608         <tr>
    609           <td class="paramkey"></td>
    610           <td></td>
    611           <td class="paramtype"><a class="el" href="stdint_8h.html#int16_t">int16_t</a>&#160;</td>
    612           <td class="paramname"><em>x</em>, </td>
    613         </tr>
    614         <tr>
    615           <td class="paramkey"></td>
    616           <td></td>
    617           <td class="paramtype"><a class="el" href="stdint_8h.html#int16_t">int16_t</a>&#160;</td>
    618           <td class="paramname"><em>y</em>&#160;</td>
    619         </tr>
    620         <tr>
    621           <td></td>
    622           <td>)</td>
    623           <td></td><td></td>
    624         </tr>
    625       </table>
    626   </td>
    627   <td class="mlabels-right">
    628 <span class="mlabels"><span class="mlabel">inline</span></span>  </td>
    629   </tr>
    630 </table>
    631 </div><div class="memdoc">
    632 <p >Moves metasprite to the absolute position x and y, <b>flipped by Y (vertically)</b></p>
    633 <dl class="params"><dt>Parameters</dt><dd>
    634   <table class="params">
    635     <tr><td class="paramname">metasprite</td><td>Pointer to the first struct of the metasprite (for the desired frame) </td></tr>
    636     <tr><td class="paramname">base_tile</td><td>Number of the first tile where the metasprite's tiles start </td></tr>
    637     <tr><td class="paramname">base_prop</td><td>Base sprite property flags </td></tr>
    638     <tr><td class="paramname">base_sprite</td><td>Number of the first hardware sprite to be used by the metasprite </td></tr>
    639     <tr><td class="paramname">x</td><td>Absolute x coordinate of the sprite </td></tr>
    640     <tr><td class="paramname">y</td><td>Absolute y coordinate of the sprite</td></tr>
    641   </table>
    642   </dd>
    643 </dl>
    644 <p>Same as <a class="el" href="gb_2metasprites_8h.html#move_metasprite">move_metasprite()</a>, but with the metasprite flipped by Y (vertically).</p>
    645 <p >Sets: </p><ul>
    646 <li>__current_metasprite = metasprite; </li>
    647 <li>__current_base_tile = base_tile;</li>
    648 </ul>
    649 <p>Note: Overwrites OAM sprite properties (such as palette), see <a class="el" href="gb_2metasprites_8h.html#metasprite_and_sprite_properties">Metasprites and sprite properties</a>.</p>
    650 <dl class="section return"><dt>Returns</dt><dd>Number of hardware sprites used to draw this metasprite</dd></dl>
    651 <dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_2metasprites_8h.html#move_metasprite">move_metasprite()</a> </dd></dl>
    652 
    653 </div>
    654 </div>
    655 <a id="move_metasprite_hflip" name="move_metasprite_hflip"></a>
    656 <h2 class="memtitle"><span class="permalink"><a href="#move_metasprite_hflip">&#9670;&nbsp;</a></span>move_metasprite_hflip()</h2>
    657 
    658 <div class="memitem">
    659 <div class="memproto">
    660 <table class="mlabels">
    661   <tr>
    662   <td class="mlabels-left">
    663       <table class="memname">
    664         <tr>
    665           <td class="memname"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> move_metasprite_hflip </td>
    666           <td>(</td>
    667           <td class="paramtype">const <a class="el" href="structmetasprite__t.html">metasprite_t</a> *&#160;</td>
    668           <td class="paramname"><em>metasprite</em>, </td>
    669         </tr>
    670         <tr>
    671           <td class="paramkey"></td>
    672           <td></td>
    673           <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td>
    674           <td class="paramname"><em>base_tile</em>, </td>
    675         </tr>
    676         <tr>
    677           <td class="paramkey"></td>
    678           <td></td>
    679           <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td>
    680           <td class="paramname"><em>base_sprite</em>, </td>
    681         </tr>
    682         <tr>
    683           <td class="paramkey"></td>
    684           <td></td>
    685           <td class="paramtype"><a class="el" href="stdint_8h.html#int16_t">int16_t</a>&#160;</td>
    686           <td class="paramname"><em>x</em>, </td>
    687         </tr>
    688         <tr>
    689           <td class="paramkey"></td>
    690           <td></td>
    691           <td class="paramtype"><a class="el" href="stdint_8h.html#int16_t">int16_t</a>&#160;</td>
    692           <td class="paramname"><em>y</em>&#160;</td>
    693         </tr>
    694         <tr>
    695           <td></td>
    696           <td>)</td>
    697           <td></td><td></td>
    698         </tr>
    699       </table>
    700   </td>
    701   <td class="mlabels-right">
    702 <span class="mlabels"><span class="mlabel">inline</span></span>  </td>
    703   </tr>
    704 </table>
    705 </div><div class="memdoc">
    706 <p >Obsolete. Replaced by <a class="el" href="gb_2metasprites_8h.html#move_metasprite_flipy">move_metasprite_flipy()</a> </p>
    707 
    708 </div>
    709 </div>
    710 <a id="move_metasprite_flipxy" name="move_metasprite_flipxy"></a>
    711 <h2 class="memtitle"><span class="permalink"><a href="#move_metasprite_flipxy">&#9670;&nbsp;</a></span>move_metasprite_flipxy()</h2>
    712 
    713 <div class="memitem">
    714 <div class="memproto">
    715 <table class="mlabels">
    716   <tr>
    717   <td class="mlabels-left">
    718       <table class="memname">
    719         <tr>
    720           <td class="memname"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> move_metasprite_flipxy </td>
    721           <td>(</td>
    722           <td class="paramtype">const <a class="el" href="structmetasprite__t.html">metasprite_t</a> *&#160;</td>
    723           <td class="paramname"><em>metasprite</em>, </td>
    724         </tr>
    725         <tr>
    726           <td class="paramkey"></td>
    727           <td></td>
    728           <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td>
    729           <td class="paramname"><em>base_tile</em>, </td>
    730         </tr>
    731         <tr>
    732           <td class="paramkey"></td>
    733           <td></td>
    734           <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td>
    735           <td class="paramname"><em>base_prop</em>, </td>
    736         </tr>
    737         <tr>
    738           <td class="paramkey"></td>
    739           <td></td>
    740           <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td>
    741           <td class="paramname"><em>base_sprite</em>, </td>
    742         </tr>
    743         <tr>
    744           <td class="paramkey"></td>
    745           <td></td>
    746           <td class="paramtype"><a class="el" href="stdint_8h.html#int16_t">int16_t</a>&#160;</td>
    747           <td class="paramname"><em>x</em>, </td>
    748         </tr>
    749         <tr>
    750           <td class="paramkey"></td>
    751           <td></td>
    752           <td class="paramtype"><a class="el" href="stdint_8h.html#int16_t">int16_t</a>&#160;</td>
    753           <td class="paramname"><em>y</em>&#160;</td>
    754         </tr>
    755         <tr>
    756           <td></td>
    757           <td>)</td>
    758           <td></td><td></td>
    759         </tr>
    760       </table>
    761   </td>
    762   <td class="mlabels-right">
    763 <span class="mlabels"><span class="mlabel">inline</span></span>  </td>
    764   </tr>
    765 </table>
    766 </div><div class="memdoc">
    767 <p >Moves metasprite to the absolute position x and y, <b>flipped by X and Y (horizontally and vertically)</b></p>
    768 <dl class="params"><dt>Parameters</dt><dd>
    769   <table class="params">
    770     <tr><td class="paramname">metasprite</td><td>Pointer to the first struct of the metasprite (for the desired frame) </td></tr>
    771     <tr><td class="paramname">base_tile</td><td>Number of the first tile where the metasprite's tiles start </td></tr>
    772     <tr><td class="paramname">base_prop</td><td>Base sprite property flags </td></tr>
    773     <tr><td class="paramname">base_sprite</td><td>Number of the first hardware sprite to be used by the metasprite </td></tr>
    774     <tr><td class="paramname">x</td><td>Absolute x coordinate of the sprite </td></tr>
    775     <tr><td class="paramname">y</td><td>Absolute y coordinate of the sprite</td></tr>
    776   </table>
    777   </dd>
    778 </dl>
    779 <p>Same as <a class="el" href="gb_2metasprites_8h.html#move_metasprite">move_metasprite()</a>, but with the metasprite flipped by X and Y (horizontally and vertically).</p>
    780 <p >Sets: </p><ul>
    781 <li>__current_metasprite = metasprite; </li>
    782 <li>__current_base_tile = base_tile;</li>
    783 </ul>
    784 <p>Note: Overwrites OAM sprite properties (such as palette), see <a class="el" href="gb_2metasprites_8h.html#metasprite_and_sprite_properties">Metasprites and sprite properties</a>.</p>
    785 <dl class="section return"><dt>Returns</dt><dd>Number of hardware sprites used to draw this metasprite</dd></dl>
    786 <dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_2metasprites_8h.html#move_metasprite">move_metasprite()</a> </dd></dl>
    787 
    788 </div>
    789 </div>
    790 <a id="move_metasprite_hvflip" name="move_metasprite_hvflip"></a>
    791 <h2 class="memtitle"><span class="permalink"><a href="#move_metasprite_hvflip">&#9670;&nbsp;</a></span>move_metasprite_hvflip()</h2>
    792 
    793 <div class="memitem">
    794 <div class="memproto">
    795 <table class="mlabels">
    796   <tr>
    797   <td class="mlabels-left">
    798       <table class="memname">
    799         <tr>
    800           <td class="memname"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> move_metasprite_hvflip </td>
    801           <td>(</td>
    802           <td class="paramtype">const <a class="el" href="structmetasprite__t.html">metasprite_t</a> *&#160;</td>
    803           <td class="paramname"><em>metasprite</em>, </td>
    804         </tr>
    805         <tr>
    806           <td class="paramkey"></td>
    807           <td></td>
    808           <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td>
    809           <td class="paramname"><em>base_tile</em>, </td>
    810         </tr>
    811         <tr>
    812           <td class="paramkey"></td>
    813           <td></td>
    814           <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td>
    815           <td class="paramname"><em>base_sprite</em>, </td>
    816         </tr>
    817         <tr>
    818           <td class="paramkey"></td>
    819           <td></td>
    820           <td class="paramtype"><a class="el" href="stdint_8h.html#int16_t">int16_t</a>&#160;</td>
    821           <td class="paramname"><em>x</em>, </td>
    822         </tr>
    823         <tr>
    824           <td class="paramkey"></td>
    825           <td></td>
    826           <td class="paramtype"><a class="el" href="stdint_8h.html#int16_t">int16_t</a>&#160;</td>
    827           <td class="paramname"><em>y</em>&#160;</td>
    828         </tr>
    829         <tr>
    830           <td></td>
    831           <td>)</td>
    832           <td></td><td></td>
    833         </tr>
    834       </table>
    835   </td>
    836   <td class="mlabels-right">
    837 <span class="mlabels"><span class="mlabel">inline</span></span>  </td>
    838   </tr>
    839 </table>
    840 </div><div class="memdoc">
    841 <p >Obsolete. Replaced by <a class="el" href="gb_2metasprites_8h.html#move_metasprite_flipxy">move_metasprite_flipxy()</a> </p>
    842 
    843 </div>
    844 </div>
    845 <a id="hide_metasprite" name="hide_metasprite"></a>
    846 <h2 class="memtitle"><span class="permalink"><a href="#hide_metasprite">&#9670;&nbsp;</a></span>hide_metasprite()</h2>
    847 
    848 <div class="memitem">
    849 <div class="memproto">
    850 <table class="mlabels">
    851   <tr>
    852   <td class="mlabels-left">
    853       <table class="memname">
    854         <tr>
    855           <td class="memname">void hide_metasprite </td>
    856           <td>(</td>
    857           <td class="paramtype">const <a class="el" href="structmetasprite__t.html">metasprite_t</a> *&#160;</td>
    858           <td class="paramname"><em>metasprite</em>, </td>
    859         </tr>
    860         <tr>
    861           <td class="paramkey"></td>
    862           <td></td>
    863           <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td>
    864           <td class="paramname"><em>base_sprite</em>&#160;</td>
    865         </tr>
    866         <tr>
    867           <td></td>
    868           <td>)</td>
    869           <td></td><td></td>
    870         </tr>
    871       </table>
    872   </td>
    873   <td class="mlabels-right">
    874 <span class="mlabels"><span class="mlabel">inline</span></span>  </td>
    875   </tr>
    876 </table>
    877 </div><div class="memdoc">
    878 <p >Hides a metasprite from the screen</p>
    879 <dl class="params"><dt>Parameters</dt><dd>
    880   <table class="params">
    881     <tr><td class="paramname">metasprite</td><td>Pointer to first struct of the desired metasprite frame </td></tr>
    882     <tr><td class="paramname">base_sprite</td><td>Number of hardware sprite to start with</td></tr>
    883   </table>
    884   </dd>
    885 </dl>
    886 <p>Sets: </p><ul>
    887 <li>__current_metasprite = metasprite; </li>
    888 </ul>
    889 
    890 </div>
    891 </div>
    892 <h2 class="groupheader">Variable Documentation</h2>
    893 <a id="__current_metasprite" name="__current_metasprite"></a>
    894 <h2 class="memtitle"><span class="permalink"><a href="#__current_metasprite">&#9670;&nbsp;</a></span>__current_metasprite</h2>
    895 
    896 <div class="memitem">
    897 <div class="memproto">
    898 <table class="mlabels">
    899   <tr>
    900   <td class="mlabels-left">
    901       <table class="memname">
    902         <tr>
    903           <td class="memname">const void* __current_metasprite</td>
    904         </tr>
    905       </table>
    906   </td>
    907   <td class="mlabels-right">
    908 <span class="mlabels"><span class="mlabel">extern</span></span>  </td>
    909   </tr>
    910 </table>
    911 </div><div class="memdoc">
    912 
    913 </div>
    914 </div>
    915 <a id="__current_base_tile" name="__current_base_tile"></a>
    916 <h2 class="memtitle"><span class="permalink"><a href="#__current_base_tile">&#9670;&nbsp;</a></span>__current_base_tile</h2>
    917 
    918 <div class="memitem">
    919 <div class="memproto">
    920 <table class="mlabels">
    921   <tr>
    922   <td class="mlabels-left">
    923       <table class="memname">
    924         <tr>
    925           <td class="memname"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> __current_base_tile</td>
    926         </tr>
    927       </table>
    928   </td>
    929   <td class="mlabels-right">
    930 <span class="mlabels"><span class="mlabel">extern</span></span>  </td>
    931   </tr>
    932 </table>
    933 </div><div class="memdoc">
    934 
    935 </div>
    936 </div>
    937 <a id="__current_base_prop" name="__current_base_prop"></a>
    938 <h2 class="memtitle"><span class="permalink"><a href="#__current_base_prop">&#9670;&nbsp;</a></span>__current_base_prop</h2>
    939 
    940 <div class="memitem">
    941 <div class="memproto">
    942 <table class="mlabels">
    943   <tr>
    944   <td class="mlabels-left">
    945       <table class="memname">
    946         <tr>
    947           <td class="memname"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> __current_base_prop</td>
    948         </tr>
    949       </table>
    950   </td>
    951   <td class="mlabels-right">
    952 <span class="mlabels"><span class="mlabel">extern</span></span>  </td>
    953   </tr>
    954 </table>
    955 </div><div class="memdoc">
    956 
    957 </div>
    958 </div>
    959 <a id="__render_shadow_OAM" name="__render_shadow_OAM"></a>
    960 <h2 class="memtitle"><span class="permalink"><a href="#__render_shadow_OAM">&#9670;&nbsp;</a></span>__render_shadow_OAM</h2>
    961 
    962 <div class="memitem">
    963 <div class="memproto">
    964 <table class="mlabels">
    965   <tr>
    966   <td class="mlabels-left">
    967       <table class="memname">
    968         <tr>
    969           <td class="memname"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> __render_shadow_OAM</td>
    970         </tr>
    971       </table>
    972   </td>
    973   <td class="mlabels-right">
    974 <span class="mlabels"><span class="mlabel">extern</span></span>  </td>
    975   </tr>
    976 </table>
    977 </div><div class="memdoc">
    978 
    979 </div>
    980 </div>
    981 </div><!-- contents -->
    982 </div><!-- doc-content -->
    983 <!-- start footer part -->
    984 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
    985   <ul>
    986     <li class="navelem"><a class="el" href="dir_8bd3092e915ccc8a773a74e0a10d4d15.html">gbdk-lib</a></li><li class="navelem"><a class="el" href="dir_a9f896cff747ba031115e41245385c17.html">include</a></li><li class="navelem"><a class="el" href="dir_af92cb28f7f9115544c8de6a3c7e6d6b.html">nes</a></li><li class="navelem"><a class="el" href="nes_2metasprites_8h.html">metasprites.h</a></li>
    987     <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2 </li>
    988   </ul>
    989 </div>
    990 </body>
    991 </html>

This webpage is intended to be an accessible preview of this repository. To get a fuller picture, clone it and use the git CLI.