mirror of
https://github.com/Lorenzooone/Pokemon-Gen3-to-Gen-X.git
synced 2026-04-25 07:36:52 -05:00
76 lines
2.8 KiB
C
76 lines
2.8 KiB
C
#ifndef SPRITE_HANDLER__
|
|
#define SPRITE_HANDLER__
|
|
|
|
#include "print_system.h"
|
|
#include "graphics_handler.h"
|
|
|
|
#define TOP_SCREEN_SPRITE_POS SCREEN_REAL_HEIGHT
|
|
#define LEFT_SCREEN_SPRITE_POS SCREEN_REAL_WIDTH
|
|
|
|
#define BASE_Y_SPRITE_INFO_PAGE 0
|
|
#define BASE_X_SPRITE_INFO_PAGE 0
|
|
|
|
#define BASE_Y_SPRITE_TRADE_ANIMATION_SEND ((SCREEN_HEIGHT>>1)-((POKEMON_SPRITE_Y_TILES<<3)>>1))
|
|
#define BASE_X_SPRITE_TRADE_ANIMATION ((SCREEN_WIDTH>>1)-((POKEMON_SPRITE_X_TILES<<3)>>1))
|
|
#define BASE_Y_SPRITE_TRADE_ANIMATION_RECV (TOP_SCREEN_SPRITE_POS-(POKEMON_SPRITE_Y_TILES<<3))
|
|
#define BASE_Y_SPRITE_TRADE_ANIMATION_END_RUN_INC (TOP_SCREEN_SPRITE_POS-BASE_Y_SPRITE_TRADE_ANIMATION_RECV)
|
|
|
|
#define BASE_Y_SPRITE_NATURE_PAGE (TOP_SCREEN_SPRITE_POS-8)
|
|
#define BASE_X_SPRITE_NATURE_PAGE 0
|
|
|
|
#define BASE_Y_SPRITE_IV_FIX_PAGE (TOP_SCREEN_SPRITE_POS-8)
|
|
#define BASE_X_SPRITE_IV_FIX_PAGE 0
|
|
|
|
#define X_OFFSET_TRADE_MENU 0
|
|
#define Y_OFFSET_TRADE_MENU -3
|
|
#define Y_OFFSET_TRADE_MENU_SPRITES (Y_OFFSET_TRADE_MENU + 2)
|
|
#define BASE_Y_SPRITE_TRADE_MENU (0 - Y_OFFSET_TRADE_MENU_SPRITES)
|
|
#define BASE_Y_SPRITE_INCREMENT_TRADE_MENU (3*8)
|
|
#define BASE_X_SPRITE_TRADE_MENU (8 - X_OFFSET_TRADE_MENU)
|
|
#define BASE_X_SPRITE_INCREMENT_TRADE_MENU (SCREEN_HALF_X << 3)
|
|
#define BASE_Y_CURSOR_TRADING_MENU (16 + BASE_Y_SPRITE_TRADE_MENU + 1)
|
|
#define BASE_X_CURSOR_TRADING_MENU (1 - X_OFFSET_TRADE_MENU)
|
|
#define BASE_Y_CURSOR_INCREMENT_TRADING_MENU BASE_Y_SPRITE_INCREMENT_TRADE_MENU
|
|
#define BASE_X_CURSOR_INCREMENT_TRADING_MENU BASE_X_SPRITE_INCREMENT_TRADE_MENU
|
|
#define CURSOR_Y_POS_CANCEL (SCREEN_HEIGHT-8)
|
|
#define CURSOR_X_POS_CANCEL 2
|
|
|
|
#define BASE_X_CURSOR_MAIN_MENU 2
|
|
#define BASE_Y_CURSOR_MAIN_MENU 8
|
|
#define BASE_Y_CURSOR_INCREMENT_MAIN_MENU 16
|
|
|
|
#define BASE_X_CURSOR_TRADE_OPTIONS 2
|
|
#define BASE_X_CURSOR_INCREMENT_TRADE_OPTIONS (SCREEN_HALF_X << 3)
|
|
#define BASE_Y_CURSOR_TRADE_OPTIONS (SCREEN_HEIGHT-8)
|
|
|
|
#define BASE_Y_SPRITE_OFFER_MENU 0
|
|
#define BASE_X_SPRITE_OFFER_MENU 0
|
|
#define BASE_X_CURSOR_INCREMENT_OFFER_OPTIONS 64
|
|
#define BASE_Y_CURSOR_INCREMENT_OFFER_OPTIONS 16
|
|
#define BASE_X_CURSOR_OFFER_OPTIONS 10
|
|
#define BASE_Y_CURSOR_OFFER_OPTIONS (SCREEN_HEIGHT-16-(BASE_Y_CURSOR_INCREMENT_OFFER_OPTIONS*(2-1)))
|
|
|
|
void init_sprites(void);
|
|
void init_sprite_counter(void);
|
|
void init_oam_palette(void);
|
|
void init_item_icon(void);
|
|
void set_pokemon_sprite(const u8*, u8, u8, u8, u8, u16, u16);
|
|
void set_party_sprite_counter(void);
|
|
void init_cursor(void);
|
|
void update_cursor_y(u16);
|
|
void update_cursor_base_x(u16);
|
|
void raw_update_sprite_y(u8, u8);
|
|
void move_sprites(u8 counter);
|
|
void move_cursor_x(u8 counter);
|
|
void disable_cursor(void);
|
|
void disable_all_cursors(void);
|
|
u8 get_next_sprite_index(void);
|
|
void reset_sprites(u8);
|
|
void disable_all_sprites(void);
|
|
void enable_all_sprites(void);
|
|
void update_normal_oam(void);
|
|
void reset_sprites_to_cursor(void);
|
|
void reset_sprites_to_party(void);
|
|
|
|
#endif
|