Poke_Transporter_GB/include/gb_link.h
2023-06-09 18:31:19 -05:00

82 lines
1.6 KiB
C++

#ifndef GB_LINK_H
/*
typedef enum {
FIRST_COMMUNICATION,
POST_SAVE,
SELECT_ROOM,
TABLE_INTERACT,
TEN_ZEROS_ONE,
SEVENTY_SIX,
TEN_ZEROS_TWO,
FINAL_DESTINATION,
SEND_POKEMON_DATA
} connection_state;
*/
typedef enum
{
NOT_CONNECTED,
CONNECTED,
TRADE_CENTRE,
COLOSSEUM
} connection_state_t;
typedef enum
{
INIT,
READY_TO_GO,
SEEN_FIRST_WAIT,
SENDING_RANDOM_DATA,
WAITING_TO_SEND_DATA,
SENDING_DATA,
SENDING_PATCH_DATA,
MIMIC,
TRADE_PENDING,
TRADE_CONFIRMATION,
DONE
} trade_centre_state_gen_II_t;
#define PKMN_BLANK 0x00
#define ITEM_1_HIGHLIGHTED 0xD0
#define ITEM_2_HIGHLIGHTED 0xD1
#define ITEM_3_HIGHLIGHTED 0xD2
#define ITEM_1_SELECTED 0xD4
#define ITEM_2_SELECTED 0xD5
#define ITEM_2_SELECTED 0xD5
#define ITEM_3_SELECTED 0xD6
#define GEN_II_CABLE_TRADE_CENTER 0xD1
#define GEN_II_CABLE_CLUB_COLOSSEUM 0xD2
#define PKMN_MASTER 0x01
#define PKMN_SLAVE 0x02
#define PKMN_MASTER_GEN_III 0x8FFF //??
#define PKMN_SLAVE_GEN_III 0xB9A0 //??
#define PKMN_CONNECTED_I 0x60
#define PKMN_CONNECTED_II 0x61
#define PKMN_WAIT 0x7F
#define PKMN_ACTION 0x60
#define PKMN_TRADE_CENTRE ITEM_1_SELECTED
#define PKMN_COLOSSEUM ITEM_2_SELECTED
#define PKMN_BREAK_LINK ITEM_3_SELECTED
#define TRADE_CENTRE_WAIT 0xFD
#define PLAYER_LENGTH_GEN_II 444 //11+8+2+(48*6)+(11*6)+(11*6)+3
#define GB_LINK_H
#include <tonc.h>
void log(std::string text);
void wait(u32 verticalLines);
inline void VBLANK() {}
void init();
int start_link();
#endif