Tags: Hopson97/open-builder
Tags
Add collision detection for players (#196) * Create player class to hold logic about the player movement and such * [Player] Make the feel of forces of gravity feel good * [Client Game] Improve logic surrounding the player id and where the player is referenced from * make player not small boi
The Big Client/ Server refactor (#195) * Start the server netcode re-write * Begin work on new client for network stuff * add connection state enum for network client * Fix the cmakelists * Write tests for network client class * Add function to disconnect the client from the server * Ensure packets are destroyed * Add test for disconnecting from server * Move the enet client connect/disconnect functions to be free functions git push * [ENet] Add broadcast method to enet helpers * Create packet to hold data about packets * Make the client/server classes use the new packet struct in the handle packet function * Handle the handshake between the client and server * move old network code into a temporary folder * move more names into temp folder * Create packet type for acceptig or rejecting a connection request * Prevent disconneting clients with emptiness * Write tests for if the server is full, reject the client * Fix crash to do with the client not diconnecting orrectly * Add extra test * Created NetHost struct to be a wrapper around the basics of ENetHost * [Server] Use the new enet host wrapper struct in the Server class * [Client] Use new host struct in the client * Update the packet class to be less error prone * Move pending client session to new file * [Server] Broadcast a player join event * Add player leave events * make server engine a non global variable * Wrap client code into a nice class * Create a state manager class to handle different game states * allow gui events to be created via the c++ side * Make the main menu switch to the in game tate * vs what are you doing * Revert back to more simple times * Update game defintions to have specific game types, organising the code and creating a beter interface as a result * Have the entity draw * Move camera stuff to camera class * Add fps controller * Send player position over the network * Handle players joining and leaving game correctly * Add network event to update enttity positions * Server sends voxel data to client * send chunks from server to client * Fix linux unit tests * simplify the server code * Make the selected box show around the voxel the player is currently looking at * add packets for sending play spawn etc * Hacky fix for the game now shutting down correctly * Reimplement digging * Reimplement block placing * remove temp things * Clang format and fix unit tests