#include <msx/hardware.h>
#include <types.h>
#include <stdint.h>
 
Go to the source code of this file.
 | 
| void  | hide_sprites_range (uint8_t from, uint8_t to) Z88DK_CALLEE PRESERVES_REGS(iyh | 
|   | 
| uint8_t  | move_metasprite_ex (const metasprite_t *metasprite, uint8_t base_tile, uint8_t base_prop, uint8_t base_sprite, uint8_t x, uint8_t y) | 
|   | 
| uint8_t  | move_metasprite (const metasprite_t *metasprite, uint8_t base_tile, uint8_t base_sprite, uint8_t x, uint8_t y) | 
|   | 
| void  | hide_metasprite (const metasprite_t *metasprite, uint8_t base_sprite) | 
|   | 
◆ metasprite_end
      
        
          | #define metasprite_end   -128 | 
        
      
 
 
◆ METASPR_ITEM
      
        
          | #define METASPR_ITEM | 
          ( | 
            | 
          dy,  | 
        
        
           | 
           | 
            | 
          dx,  | 
        
        
           | 
           | 
            | 
          dt,  | 
        
        
           | 
           | 
            | 
          a  | 
        
        
           | 
          ) | 
           |    {(dy),(dx),(dt),(a)} | 
        
      
 
 
◆ METASPR_TERM
◆ metasprite_t
Metasprite sub-item structure 
- Parameters
 - 
  
    | dy | (int8_t) Y coordinate of the sprite relative to the metasprite origin (pivot)  | 
    | dx | (int8_t) X coordinate of the sprite relative to the metasprite origin (pivot)  | 
    | dtile | (uint8_t) Start tile relative to the metasprites own set of tiles  | 
    | props | (uint8_t) Property Flags | 
  
   
Metasprites are built from multiple metasprite_t 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 metasprite_t items (which may vary based on how many sprites are required for that particular frame).
A metasprite frame is terminated with a {metasprite_end} entry. 
 
 
◆ hide_sprites_range()
Hides all hardware sprites in range from <= X < to 
- Parameters
 - 
  
    | from | start OAM index  | 
    | to | finish OAM index  | 
  
   
 
 
◆ move_metasprite_ex()
Moves metasprite to the absolute position x and y
- Parameters
 - 
  
    | metasprite | Pointer to the first struct of the metasprite (for the desired frame)  | 
    | base_tile | Number of the first tile where the metasprite's tiles start  | 
    | base_prop | Base sprite property flags (unused on this platform)  | 
    | base_sprite | Number of the first hardware sprite to be used by the metasprite  | 
    | x | Absolute x coordinate of the sprite  | 
    | y | Absolute y coordinate of the sprite | 
  
   
Moves metasprite to the absolute position x and y (with no flip on the X or Y axis). Hardware sprites are allocated starting from base_sprite, using tiles starting from base_tile.
Sets: 
- __current_metasprite = metasprite; 
 
- __current_base_tile = base_tile;
 
- Returns
 - Number of hardware sprites used to draw this metasprite 
 
 
 
◆ move_metasprite()
◆ hide_metasprite()
Hides a metasprite from the screen
- Parameters
 - 
  
    | metasprite | Pointer to first struct of the desired metasprite frame  | 
    | base_sprite | Number of hardware sprite to start with | 
  
   
Sets: 
- __current_metasprite = metasprite; 
 
 
 
◆ __current_metasprite
  
  
      
        
          | const void* __current_metasprite | 
         
       
   | 
  
extern   | 
  
 
 
◆ __current_base_tile
◆ __render_shadow_OAM
◆ iyl