Last active
June 19, 2018 15:50
-
-
Save Romain-P/f44fc0c5cc77536d5d46fb75f305e9c9 to your computer and use it in GitHub Desktop.
zappy unity native plugin
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #ifndef ZAPPY_LIBRARY_H | |
| #define ZAPPY_LIBRARY_H | |
| #include <stdint.h> | |
| #include "poll.h" | |
| #include "protocol.h" | |
| #define PACKED __attribute__((__packed__)) | |
| #if defined(_MSC_VER) | |
| #define EXPORT __declspec(dllexport) | |
| #define IMPORT __declspec(dllimport) | |
| #elif defined(__GNUC__) | |
| #define EXPORT __attribute__((visibility("default"))) | |
| #define IMPORT | |
| #endif | |
| typedef struct network_handlers_s network_handlers_t; | |
| typedef struct network_config_s network_config_t; | |
| typedef struct packet_example_s packet_example_t; | |
| typedef struct packet_msz_s packet_msz_t; | |
| typedef struct packet_bct_tile_s packet_bct_tile_t; | |
| typedef struct packet_mct_s packet_mct_t; | |
| typedef struct packet_tna_s packet_tna_t; | |
| typedef struct packet_pnw_s packet_pnw_t; | |
| typedef struct packet_ppo_s packet_ppo_t; | |
| typedef struct packet_plv_s packet_plv_t; | |
| typedef struct packet_pin_s packet_pin_t; | |
| typedef struct packet_pex_s packet_pex_t; | |
| typedef struct packet_pbc_s packet_pbc_t; | |
| typedef struct packet_pic_s packet_pic_t; | |
| typedef struct packet_pie_s packet_pie_t; | |
| typedef struct packet_pfk_s packet_pfk_t; | |
| typedef struct packet_pdr_s packet_pdr_t; | |
| typedef struct packet_pgt_s packet_pgt_t; | |
| typedef struct packet_pdi_s packet_pdi_t; | |
| typedef struct packet_enw_s packet_enw_t; | |
| typedef struct packet_eht_s packet_eht_t; | |
| typedef struct packet_ebo_s packet_ebo_t; | |
| typedef struct packet_edi_s packet_edi_t; | |
| typedef struct packet_sgt_s packet_sgt_t; | |
| typedef struct packet_sst_s packet_sst_t; | |
| typedef struct packet_seg_s packet_seg_t; | |
| typedef struct packet_smg_s packet_smg_t; | |
| typedef struct packet_suc_s packet_suc_t; | |
| typedef struct packet_sbp_s packet_sbp_t; | |
| typedef struct packet_team_s packet_team_t; | |
| typedef struct packet_forward_s packet_forward_t; | |
| typedef struct packet_turn_s packet_turn_t; | |
| typedef struct packet_inventory_s packet_inventory_t; | |
| struct network_handlers_s { | |
| void (*on_action_success)(); | |
| void (*on_action_failed)(); | |
| void (*on_map_size_reply)(packet_msz_t *); | |
| void (*on_tile_content_reply)(packet_bct_tile_t *); | |
| void (*on_team_name_reply)(packet_tna_t *); | |
| void (*on_player_position_update)(packet_ppo_t *); | |
| void (*on_player_level_update)(packet_plv_t *); | |
| void (*on_player_inventory_update)(packet_pin_t *); | |
| void (*on_player_connected)(packet_pnw_t *); | |
| void (*on_player_expulsed)(packet_pex_t *); | |
| void (*on_broadcast)(packet_pbc_t *); | |
| void (*on_server_broadcast)(packet_smg_t *); | |
| void (*on_player_cast_start)(packet_pic_t *); | |
| void (*on_player_cast_end)(packet_pie_t *); | |
| void (*on_player_lay_self)(packet_pfk_t *); | |
| void (*on_player_lay)(packet_enw_t *); | |
| void (*on_player_drop)(packet_pdr_t *); | |
| void (*on_player_collect)(packet_pgt_t *); | |
| void (*on_player_death)(packet_pdi_t *); | |
| void (*on_egg_hatching)(packet_eht_t *); | |
| void (*on_egg_hatching_death)(packet_edi_t *); | |
| void (*on_timeunit_reply)(packet_sgt_t *); | |
| void (*on_timeunit_modif_reply)(packet_sst_t *); | |
| void (*on_game_end)(packet_seg_t *); | |
| void (*on_unknown_command)(packet_suc_t *); | |
| void (*on_command_param_wrong)(packet_sbp_t *); | |
| }; | |
| struct network_config_s { | |
| char *address; | |
| uint16_t port; | |
| network_handlers_t *handlers; | |
| }; | |
| struct PACKED packet_example_s { | |
| PACKET_HEADER; | |
| int64_t some; | |
| char str[100]; | |
| int64_t shiet; | |
| }; | |
| struct PACKED packet_msz_s { | |
| PACKET_HEADER; | |
| size_t x; | |
| size_t y; | |
| }; | |
| struct PACKED packet_bct_tile_s { | |
| PACKET_HEADER; | |
| size_t x; | |
| size_t y; | |
| size_t q0; | |
| size_t q1; | |
| size_t q2; | |
| size_t q3; | |
| size_t q4; | |
| size_t q5; | |
| size_t q6; | |
| }; | |
| struct PACKED packet_mct_s { | |
| PACKET_HEADER; | |
| }; | |
| struct PACKED packet_tna_s { | |
| PACKET_HEADER; | |
| char name[1024]; | |
| }; | |
| struct PACKED packet_pnw_s { | |
| PACKET_HEADER; | |
| char player_number[42]; | |
| size_t x; | |
| size_t y; | |
| size_t orientation; | |
| size_t level; | |
| char name_team[1024]; | |
| }; | |
| struct PACKED packet_ppo_s { | |
| PACKET_HEADER; | |
| size_t player_number; | |
| size_t x; | |
| size_t y; | |
| size_t orientation; | |
| }; | |
| struct PACKED packet_plv_s { | |
| PACKET_HEADER; | |
| size_t player_number; | |
| size_t level; | |
| }; | |
| struct PACKED packet_pin_s { | |
| PACKET_HEADER; | |
| size_t player_number; | |
| size_t x; | |
| size_t y; | |
| size_t q0; | |
| size_t q1; | |
| size_t q2; | |
| size_t q3; | |
| size_t q4; | |
| size_t q5; | |
| size_t q6; | |
| }; | |
| struct PACKED packet_pex_s { | |
| PACKET_HEADER; | |
| size_t player_number; | |
| }; | |
| struct PACKED packet_pbc_s { | |
| PACKET_HEADER; | |
| size_t player_number; | |
| char message[1024]; | |
| }; | |
| struct PACKED packet_pic_s { | |
| PACKET_HEADER; | |
| size_t x; | |
| size_t y; | |
| size_t incantation_level; | |
| size_t player_nb1; | |
| size_t player_nb2; | |
| }; | |
| struct PACKED packet_pie_s { | |
| PACKET_HEADER; | |
| size_t x; | |
| size_t y; | |
| size_t result; | |
| }; | |
| struct PACKED packet_pfk_s { | |
| PACKET_HEADER; | |
| size_t player_number; | |
| }; | |
| struct PACKED packet_pdr_s { | |
| PACKET_HEADER; | |
| size_t player_number; | |
| size_t ressource; | |
| }; | |
| struct PACKED packet_pgt_s { | |
| PACKET_HEADER; | |
| size_t player_number; | |
| size_t ressource; | |
| }; | |
| struct PACKED packet_pdi_s { | |
| PACKET_HEADER; | |
| size_t player_number; | |
| }; | |
| struct PACKED packet_enw_s { | |
| PACKET_HEADER; | |
| size_t egg; | |
| size_t player_number; | |
| size_t x; | |
| size_t y; | |
| }; | |
| struct PACKED packet_eht_s { | |
| PACKET_HEADER; | |
| size_t egg; | |
| }; | |
| struct PACKED packet_ebo_s { | |
| PACKET_HEADER; | |
| size_t egg; | |
| }; | |
| struct PACKED packet_edi_s { | |
| PACKET_HEADER; | |
| size_t egg; | |
| }; | |
| struct PACKED packet_sgt_s { | |
| PACKET_HEADER; | |
| size_t time; | |
| }; | |
| struct PACKED packet_sst_s { | |
| PACKET_HEADER; | |
| size_t time; | |
| }; | |
| struct PACKED packet_seg_s { | |
| PACKET_HEADER; | |
| char team[1024]; | |
| }; | |
| struct PACKED packet_smg_s { | |
| PACKET_HEADER; | |
| char message[1024]; | |
| }; | |
| struct PACKED suc_s { | |
| PACKET_HEADER; | |
| }; | |
| struct PACKED sbp_s { | |
| PACKET_HEADER; | |
| }; | |
| struct PACKED packet_forward_s { | |
| PACKET_HEADER; | |
| }; | |
| struct PACKED packet_inventory_s { | |
| PACKET_HEADER; | |
| char result[2048]; | |
| }; | |
| struct PACKED packet_turn_s { | |
| PACKET_HEADER; | |
| char orientation[6]; | |
| }; | |
| struct PACKED packet_team_s { | |
| PACKET_HEADER; | |
| char team[1024]; | |
| int status; | |
| }; | |
| EXPORT void hello(void); | |
| #endif |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment