2025-07-06 20:43:53 +03:00
# pragma once
# include <cstdint>
# include <Helpers/Networking/NetLibrary.hpp>
enum ServerCommands : MessageCommandType {
SERVER_FRAGMENT = 0 ,
SERVER_KEEP_ALIVE ,
SERVER_INITIAL_DATA ,
SERVER_MOVE_MOUSE ,
2025-07-26 21:20:14 +03:00
SERVER_PLACE_SINGLE_COMPONENT ,
SERVER_PLACE_MANY_COMPONENTS ,
2025-07-27 11:56:34 +03:00
SERVER_TRANSFORM_MANY_COMPONENTS ,
2025-07-26 21:20:14 +03:00
SERVER_ERASE_SINGLE_COMPONENT ,
SERVER_ERASE_MANY_COMPONENTS ,
2025-07-06 20:43:53 +03:00
SERVER_UPDATE_COMPONENT ,
SERVER_RESOURCE_INIT ,
SERVER_RESOURCE_DATA ,
SERVER_CHAT_MESSAGE ,
SERVER_NEW_BOOKMARK ,
2025-08-01 10:58:45 +03:00
SERVER_REMOVE_BOOKMARK ,
2025-09-24 16:18:20 +03:00
SERVER_CANVAS_COLOR ,
SERVER_SET_GRID ,
2025-09-30 16:36:09 +03:00
SERVER_REMOVE_GRID ,
SERVER_CANVAS_SCALE
2025-07-06 20:43:53 +03:00
} ;
enum ClientCommands : MessageCommandType {
CLIENT_FRAGMENT = 0 ,
CLIENT_KEEP_ALIVE ,
CLIENT_INITIAL_DATA ,
CLIENT_USER_CONNECT ,
CLIENT_USER_DISCONNECT ,
2025-07-26 21:20:14 +03:00
CLIENT_PLACE_SINGLE_COMPONENT ,
CLIENT_PLACE_MANY_COMPONENTS ,
2025-07-27 11:56:34 +03:00
CLIENT_TRANSFORM_MANY_COMPONENTS ,
2025-07-26 21:20:14 +03:00
CLIENT_ERASE_SINGLE_COMPONENT ,
CLIENT_ERASE_MANY_COMPONENTS ,
2025-07-06 20:43:53 +03:00
CLIENT_UPDATE_COMPONENT ,
CLIENT_MOVE_MOUSE ,
2025-10-09 21:02:19 +03:00
CLIENT_NEW_RESOURCE_ID ,
CLIENT_NEW_RESOURCE_DATA ,
2025-07-06 20:43:53 +03:00
CLIENT_CHAT_MESSAGE ,
CLIENT_NEW_BOOKMARK ,
2025-08-01 10:58:45 +03:00
CLIENT_REMOVE_BOOKMARK ,
2025-09-24 16:18:20 +03:00
CLIENT_CANVAS_COLOR ,
CLIENT_SET_GRID ,
2025-09-30 16:36:09 +03:00
CLIENT_REMOVE_GRID ,
CLIENT_CANVAS_SCALE
2025-07-06 20:43:53 +03:00
} ;
2025-07-28 18:21:09 +03:00
// NOTE: Do not change savefile header length
2025-07-06 20:43:53 +03:00
# define SAVEFILE_HEADER_LEN 12
2025-07-28 18:21:09 +03:00
// NOTE: Change these values whenever savefile is incompatible with previous version
2025-09-24 16:18:20 +03:00
# define SAVEFILE_HEADER "INFPNT000003"
# define SAVEFILE_HEADER_V2 "INFPNT000002"
2025-07-28 18:21:09 +03:00
# define SAVEFILE_HEADER_V1 "INFPNT000001"
2025-09-29 17:36:27 +03:00
// Version header
# define VERSION_STRING "0.2.0"
2025-09-30 16:36:09 +03:00
// Arbitrary value. Higher scale up values lead to less scale up events (which can cause stuttering), but leads to larger numbers overall, which can cause a tiny bit of lag and increased memory usage
2025-10-05 10:54:24 +03:00
# define CANVAS_SCALE_UP_STEP WorldScalar("100000000000000000000000000000000000000000000000000")