2023-09-18 15:56:17 -04:00
# ifndef DEFINE_H__
# define DEFINE_H__
# include <iostream>
2023-09-25 08:23:52 -04:00
# include <chrono>
2023-09-18 15:56:17 -04:00
2023-10-27 13:39:18 -04:00
# define SRV_PORT 10000
# define CLI_PORT 10001
2023-09-24 08:45:40 -04:00
2023-10-23 16:23:27 -04:00
# define BUFFER_LENGTH 150
2023-09-25 08:23:52 -04:00
# define CHUNK_SIZE_X 4
# define CHUNK_SIZE_Y 64
# define CHUNK_SIZE_Z 4
# define MAX_SELECTION_DISTANCE 5
2023-09-29 12:04:08 -04:00
# define SEED 0
2023-09-25 17:17:17 -04:00
# define COUNTDOWN 300
2023-09-25 08:23:52 -04:00
2023-09-18 15:56:17 -04:00
# define WORLD_SIZE_X 64
# define WORLD_SIZE_Y 64
2023-09-30 14:46:54 -04:00
# define FRAMES_RENDER_CHUNKS 1
# define FRAMES_UPDATE_CHUNKS 1
# define FRAMES_DELETE_CHUNKS 1
# define THREADS_GENERATE_CHUNKS 8
2023-09-30 18:33:23 -04:00
# define THREADS_UPDATE_CHUNKS 6
2023-09-30 14:46:54 -04:00
# define THREADS_DELETE_CHUNKS 3
# define VIEW_DISTANCE 512 // Si les chunks arr<72> tent de s'afficher pendant une game et qu'il y a un access violation quand tu quitte, il faut augmenter ce chiffre.
2023-09-25 08:23:52 -04:00
# define TEXTURE_SIZE 512
# define MAX_BULLETS 512
2023-09-18 15:56:17 -04:00
2023-10-27 13:27:00 -04:00
# define BULLET_TIME .1
2023-09-25 08:23:52 -04:00
typedef uint8_t BlockType ;
enum BLOCK_TYPE { BTYPE_AIR , BTYPE_DIRT , BTYPE_GRASS , BTYPE_METAL , BTYPE_ICE , BTYPE_LAST } ;
2023-09-25 16:30:03 -04:00
typedef uint64_t Timestamp ;
2023-09-18 15:56:17 -04:00
2023-09-25 08:23:52 -04:00
# ifdef _WIN32
2023-09-18 15:56:17 -04:00
2023-09-25 08:23:52 -04:00
# pragma comment(lib,"wsock32.lib") // Pour pouvoir faire fonctionner le linker sans le vcxproject
2023-09-27 11:24:41 -04:00
# pragma comment(lib,"ws2_32.lib")
# include <ws2tcpip.h>
2023-09-25 08:23:52 -04:00
# include <Windows.h>
# include <cstdio>
# include <ctime>
2023-09-18 15:56:17 -04:00
2023-10-30 11:11:13 -04:00
# define flag_t u_long
# define addrlen_t int
2023-10-28 14:11:01 -04:00
# define ioctl ioctlsocket
2023-10-28 14:41:23 -04:00
# define SOCK_NONBLOCK FIONBIO
2023-10-28 12:13:45 -04:00
# define strcpy strcpy_s
2023-09-25 08:23:52 -04:00
# define popen _popen
# define pclose _pclose
2023-09-18 15:56:17 -04:00
2023-09-25 08:23:52 -04:00
# else // Pas _WIN32
# include <unistd.h>
# include <time.h>
# include <stdio.h>
# include <sys/socket.h>
2023-10-28 14:11:01 -04:00
# include <sys/ioctl.h>
2023-09-25 08:23:52 -04:00
# include <arpa/inet.h>
# include <netinet/in.h>
2023-10-01 11:52:07 -04:00
# include <cstring>
2023-09-25 08:23:52 -04:00
2023-10-30 11:11:13 -04:00
# define flag_t unsigned int
2023-10-24 07:32:16 -04:00
# define addrlen_t unsigned int
2023-09-25 08:23:52 -04:00
# define SOCKET int
# define INVALID_SOCKET -1
# define closesocket close
# endif // _WIN32
2023-09-18 15:56:17 -04:00
# endif // DEFINE_H__